用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求 - 编程入门网
// Store the number of bytes in a variable named totalBytesCount.
int totalBytesCount = 1 + lengthBytesCount + contentBytesCount ;
//6. Instantiate the finalBytes array to totalBytesCount size.
finalBytes = new byte[totalBytesCount];
//7. Copy the tag byte at the start of the finalBytes array.
finalBytes[0] = (byte)0x18;
//8. Copy the length bytes from the lengthBytes array to the
// finalBytes array just after the tag byte.
for (int i=0; i < lengthBytes.length; i++)
finalBytes[i+1] = lengthBytes[i];
//9. Copy the content bytes to the finalBytes array
// just after the length bytes.
for (int j=lengthBytesCount+1; j<totalBytesCount; j++)
finalBytes[j] = generalizedTimeContent[j-(lengthBytesCount+1)];
//10. Return the finalBytes array.
return finalBytes;
}//getGeneralizedTimeBytes
用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求(7)时间:2011-08-05 IBM Faheem KhanconcatenateBytes() 这个方法(见清单 8)取两个字节数组,将第二个数组串接到第一个之后,并返回串接的数组。 因为这个方法取两个字节数组并返回另一个字节数组,所以它可以自身串联任意次以串接任意数量的 字节数组。例如, concatenateBytes(byteArray1, concatenateBytes(byteArray2, byteArray3)) 会将 byteArray3 加在 byteArray2 后,再将结果加到 byteArray1 后。 清单 8. concatenateBytes() 方法
getSequenceBytes() 这个方法(见清单 9)生成一个 ASN.1 SEQUENCE 的字节数组表达。它取一个字节数组作为输入参数 ,将这个字节数组作为 SEQUENCE 的内容,在内容前面加上 SEQUENCE 标签字节( 0x30 )和长度字节, 并返回完整的 SEQUENCE 结构。 通常, getSequenceBytes() 方法会与 concatenateBytes() 配合使用。一个应用程序将生成 SEQUENCE 中单独的结构,将各个结构的字节数组表达串接在一起以构成一个数组,并将串接后的数组传 递给 getSequenceBytes() 方法,这个方法将返回 SEQUENCE 的完整字节数组表达。 清单 9. getSequenceBytes() 方法
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |