WEB开发网
开发学院软件开发Java 用 Kerberos 为 J2ME 应用程序上锁,第 2 部分: 生... 阅读

用 Kerberos 为 J2ME 应用程序上锁,第 2 部分: 生成一个 Kerberos 票据请求

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: getGeneralStringBytes()、getOctetStringBytes()、getBitStringBytes() 和 getGeneralizedTimeBytes()像 getIntegerBytes() 一样,每一个方法返回一种 ASN.1 通用数据类型结构,用 Kerbe

getGeneralStringBytes()、getOctetStringBytes()、getBitStringBytes() 和 getGeneralizedTimeBytes()

像 getIntegerBytes() 一样,每一个方法返回一种 ASN.1 通用数据类型结构。

清单 4 中的 getGeneralStringBytes() 方法生成一个 ASN.1 GeneralString 的字节数组表达。类似地,清单 5 中的 getOctetStringBytes() 方法返回 ASN.1 OctetString 的字节数组表达。清单 6 中的 getBitStringBytes() 方法返回 BitString 的 ASN.1 表达。最后,清单 7 中的 getGeneralizedTimeBytes() 方法返回 ASN.1 GeneralizedTime 值的字节数组表达。

所有这些方法遵循在前面对 getIntegerBytes() 方法的讨论中见过的同样实现逻辑:

声明一个名为 finalBytes 的字节数组,它将包含 ASN.1 字节数组表达的所有字节。

计算容纳 ASN.1 字节数组表达的内容所需要的字节数。

用清单 3 中的 getLengthBytes() 方法生成长度字节。将长度字节储存到一个名为 lengthBytes 的数组中。

得到 lengthBytes 数组中的字节数。

计算容纳完整的 ASN.1 字节数组表达所需要的字节数(标签字节、长度字节和内容字节的总和)。将这个字节数储存到一个名为 totalBytesCount 的变量中。

实例化一个具有 totalBytesCount 的值大小的 finalBytes 数组。

将标签字节拷贝到 finalBytes 数组的开始处。

将 lengthBytes 数组中的长度字节拷贝到 finalBytes 数组中紧随标签字节的位置。

将内容字节拷贝到 finalBytes 数组中紧随长度字节的位置。

返回 finalBytes 数组。

清单 4、清单 5、清单 6 和清单 7 带有帮助您跟踪和对照上述 10 步中每一步与 J2ME 代码中相应行的注释。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Kerberos JME 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接