快速业务通道

用Kerberos为J2ME应用程序上锁,第1部分 - Kerberos数据格式介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
个元素,它是图 2 中的 pvno 字段。

第二行 ( msg-type[2] INTEGER ) 对应于图 2 中的 msg-type 字段。注意 pvno 和 msg-type 字段 的类型为 INTEGER ,这意味着它们是用 INTEGER 数据类型构建的。

还要注意在清单 1 中 pvno 和 msg-type 后面的方括号中的数字 ( pvno[1] and msg-type[2] )。与 在前面 AS-REQ ::= [APPLICATION 10] KDC-REQ 一行中见到的应用程序级标签号相反,它们是 上下文特 定的标签号。

应用程序级和上下文特定的标签号有什么区别呢?应用程序级标签号在整个应用程序中是惟一的和有 效的。例如,在整个 Kerberos 应用程序中编号 10 都是指 AS-REQ 结构。而上下文特定的标签号只在定 义它们的上下文中有意义。例如,在 KDC-REQ 的结构内部,上下文特定的标签号 1 表示 pvno 。但是在 查看其他结构的内部时,同样的上下文特定的标签号 1 表示的则是一些其他的字段。

在后面讨论将清单 1 编码为表 2 中的字节序列时,我将解释这些应用程序级和上下文特定的标签号 的使用。

现在看一看清单 1 中 KDC-REQ 结构中第三行 ( padata[3] SEQUENCE OF PA-DATA ) 和第四行 ( req-body[4] KDC-REQ-BODY )。第三行定义了图 2 中的 padata 字段,它是 PA-DATA 结构的一个 SEQUENCE 。第四行表示图 2 中的 req-body 框。

padata 和 req-body 字段又是由不同字段组成的 Kerberos 结构。例如, req-body 的数据类型是 KDC-REQ-BODY ,而该数据类型自己又是一个带有几个字段(像前面讨论的那样带有 kdc-options、 cname 、 realm 、 sname 、 till 、 nonce 和 etype 等字段)的 Kerberos 结构。

回想一下 pvno 字段是用一个 INTEGER 构建的。另一方面, req-body 字段的数据类型为 KDC-REQ- BODY ,该数据类型本身又是由几个字段构建的一种结构。

还要注意 INTEGER 是基本 ASN.1 数据类型的一个例子,而 KDC-REQ-BODY 是由其他字段构建的派生 数据类型。

ASN.1 定义了一些可以被应用程序使用的数据类型,称为 通用数据类型。大多数通用数据类型是基本 类型,只有少数是构建的。ASN.1 为通用数据类型定义了 标签号,如表 1 所示。

表 1. 一些通用数据类型和标签号

通用数据类型 通用标签号 构建类型还是基本类型?
BOOLEAN 1 基本类型
INTEGER 2 基本类型
BIT STRING 3 基本类型
OCTET STRING 4 基本类型
SEQUENCE 16 构建类型
GeneralizedTime 24 基本类型
GeneralString 27 基本类型

表 1 显示 INTEGER 数据类型的通用标签号是 2,并且 INTEGER 数据类型是基本类型。SEQUENCE 是 表 1 中惟一的构建类型的通用标签。这是因为 SEQUENCE 数据类型是使用其他字段普遍定义的, SEQUENCE 总是用其他字段构建的。

用Kerberos为J2ME应用程序上锁,第1部分 - Kerberos数据格式介绍(7)

时间:2011-08-05 IBM Faheem Khan

在 ASN.1 定义中没有提到通用数据类型的标签号,这是因为这些标签号已经得到普遍定义和理解。不 过,在试图将 Kerberos 结构编码为字节序列时需要用到通用标签号。在稍后您会看到这一点。

现在,让我解释图 2 与清单 1 中的 AS-REQ 消息是如何编码为字节序列的。为了展示这个编码过程 ,我提供了表 2,它显示了客户机发送

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号