用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求 - 编程入门网
engthBytes() method of Listing 3 to author
// the length bytes. Store the length bytes in
// an array named lengthBytes.
byte lengthBytes[] = getLengthBytes(contentBytesCount );
//4. Get the number of bytes in the lengthBytes array.
int lengthBytesCount = lengthBytes.length;
//5. Calculate the number of bytes required to hold the complete
// ASN.1 byte array representation (the sum total of the number
// of tag bytes, length bytes, and content bytes).
// Store the number of bytes in a variable named totalBytesCount.
int totalBytesCount = lengthBytesCount + 1;
//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)0x30;
//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.
finalBytes = concatenateBytes (finalBytes, sequenceContents);
//10. Return the finalBytes array.
return finalBytes;
}//getsequenceBytes
用Kerberos为J2ME应用程序上锁,第2部分 - 生成一个Kerberos票据请求(8)时间:2011-08-05 IBM Faheem KhangetTagAndLengthBytes() 这个方法与所讨论过的各种 getXXXBytes() 方法非常相象。不过,虽然其中每一个方法生成一个特定 的 ASN.1 通用数据类型,但是 getTagAndLengthBytes() 方法(见清单 10)生成应用程序级和上下文特 定的数据类型。 这个方法取三个参数。第一个参数( tagType )指定标签类型。如果它的值等于静态整数 ASN1DataTypes.Context_Specific ,那么它指定的是一个上下文特定标签,如果它的值等于 ASN1DataTypes.Application_Type ,那么它指定的是一个应用程序级标签。 第二个参数( tagNumber )指定标签数,而第三个( tagContents )包含了内容字节数组。 getTagAndLengthBytes() 根据输入参数计算标签和长度字节的值,将标签和长度字节加到内容字节前 面,并返回应用程序级或者上下文特定的 ASN.1 结构的完整字节数组表达。 清单 10. getTagAndLengthBytes() 方法
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |