用Kerberos为J2ME应用程序上锁,第1部分 - Kerberos数据格式介绍 - 编程入门网
个元素,它是图 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. 一些通用数据类型和标签号
表 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |