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

用 Kerberos 为 J2ME 应用程序上锁,第 3 部分: 建立与电子银行的安全通信(下)

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: 现在生成 cusec 字段,它表示客户机时间的微秒部分,用 Kerberos 为 J2ME 应用程序上锁,第 3 部分: 建立与电子银行的安全通信(下)(9),这个字段的取值范围为 0 到 999999,这意味着可以在这个字段提供的最大值为 999999 微秒, 下一个任务是串接认证头或者 KR

现在生成 cusec 字段,它表示客户机时间的微秒部分。这个字段的取值范围为 0 到 999999。这意味着可以在这个字段提供的最大值为 999999 微秒。不过,MIDP 不包含任何可以提供比一毫秒更精确的时间值的方法。因此,不能指定客户机的微秒部分。只是对这个字段传递一个零值。

在 Authenticator 结构中,还要生成两个字段 ―― subkey 和 seq-number 。在为票据请求而生成的 Authenticator 中不一定要包含这两个字段,但是后面在用同一个 getAuthenticationHeader() 方法生成上下文建立请求时需要它们。

现在,只需知道只要检查 sequenceNumber 参数是否为零。对于服务票据请求它为零,对于上下文建立请求它为非零。

如果 sequenceNumber 参数为非零,那么就生成 subkey 和 seq-number 字段,然后链接 authenticator-vno、 realm、cname、cksum、cusec、ctime、subkey 和 seq-number 字段以构成一个字节数组,将这个字节数组包装到一个 SEQUENCE 中,然后将 SEQUENCE 包装到 Authenticator 中(应用程序级别标签号 2)。

如果 sequenceNumber 参数为零,那么可以忽略 subkey 和 seq-number 字段,链接 authenticator-vno、crealm、cname、cksum、cusec 和 ctime 字段以构成串接的字节数组,将这个字节数组包装到一个 SEQUENCE 中,然后将这个 SEQUENCE 包装到 Authenticator 中(应用程序级别标签号 2)。

下面,需要取完整的 Authenticator 结构并将它传递 authorDigestAndEncrypt() 方法,这个方法返回纯文本 Authenticator 的完整 EncryptedData 表示。

下一个任务是串接认证头或者 KRB-AP-REQ 结构的五个字段( pvno、msg-type、ap-options、ticket、authenticator )为一个字节数组,将这个字节数组包装为一个 SEQUECNE ,最后将这个 SEQUENCE 包装到应用程序级别的标签号 14。

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

Tags:Kerberos JME 应用程序

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