cn-pkcs-10v1-7(认证请求语法标准).doc_第1页
cn-pkcs-10v1-7(认证请求语法标准).doc_第2页
cn-pkcs-10v1-7(认证请求语法标准).doc_第3页
cn-pkcs-10v1-7(认证请求语法标准).doc_第4页
cn-pkcs-10v1-7(认证请求语法标准).doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PKCS #10 v1.7 - Certification Request Syntax Standard 认证请求语法标准组织: PKI 论坛( )PKCS/PKIX 中文翻译计划论坛电子邮件: 译者:sql2000 (付少庆) ( )版权:本中文翻译文档版权归PKI论坛的注册用户所共有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。如用于商业目的,所得利润需用于 PKI 论坛的发展。更改记录日期修改章节类型修改描述修改人2005/03/26全部C创建文档sql2000* 修改类型分为 C- 产生一 - 附加的 M- 修正 D- 划除 PKCS#10 v1.7 认证请求语法标准(PKCS#10 v1.7: Certification Request Syntax Standard)RSA 实验室2000 年 5 月 26*目录:1.绪论22.定义与符号32.1定义32.2符号33概述34认证请求语法34.1CertificationRequestInfo34.2CertificationRequest3A ASN.1 模块3B 知识产权事项3C 修订历史3D 参考文献3E 关于PKCS31.绪论本文档描述了认证请求的语法。一个认证请求包括一个可区分的名称、一个公钥、一个可选择的属性集,和要求认证的实体整体签名。认证请求被发送到一个认证的权威机构,它将这个请求边转换为 X.509 9 公钥。(在那种形式中认证的权威机构返回一个新的签名的证书,这部分的介绍超出了本文档的范围。可能是一条PKCS#7 2的密文消息。)包含属性集有双重目的:提供特定实体的其它相关信息,或者是个难破解的口令,依靠那个口令实体可以在将来要求证书撤销;提供 X.509证书的内部信息。PKCS #93给出了一个比较详细的属性列表。认证的权威机构也可以要求使用非电子的申请表格,而且可以以非电子的方式答复。也许你期望给一些那些表格的描述,但这超出了本文档的范围,你可以到认证的权威机构那里获得。本文档最初的应用意图是支持PKCS#7的密文,但有有人期望开发其它的应用。(如4)2.定义与符号2.1定义为了说明本文档,应用下面的一些定义。算法:在X.509中定义的一个信息对象类,被描述为由一个算法(一个唯一的对象标识符)和他的参数(任意的ASN.1类型)组成。在这个类中,对象的值由ASN.1的算法标识符表示。算法定义为有用的信息对象类类型标识符。具体说明在11,Annex A算法标识符:本文档中定义的一个有用的,参数表现的,X.509类型运算符。它将成对的运算标识符与他们的相关的参数类型紧密绑定。当引用的时候,单个的AlgorithmIdentifier参数指定了在一个类型实例中约束出现的值对。AlgorithmIdentifier的编码值等价于这些属性的类型。ASN.1:抽象语法符号1,参见ASN.1中定义的标准(10,11,12和13)。属性:描述了组成对象的属性(一个唯一的对象标识符)和一个相关的属性值的集合(任意的ASN.1类型)。在这个类中,对象的值可以表示为类型 Attribute。Attribute:本文档中定义的一个有用的,参数表现的,X.5018类型。这个类型将成对的属性对象类型标识符紧密地绑定到一个或多个属性值上。在ASN.1开放类型符号中,一个属性类型被定义为ATTRIBUTE.&id,一个属性值被定义为ATTRIBUTE.&Type。当引用的时候,单个的Attribute参数指定了在一个类型实例中约束出现的值对。Attribute的编码值等价于这些属性的类型。BER:基本编码规则(Basic Encoding Rules),定义在X.690中(14)。证书:用数字签名将一个可区分的实体名称和一个公钥绑定到一起的一种类型。这种类型在X.509中定义。这种类型也包括证书发行者的可区分名称(签名者),一个发行者特定的序列号,发行者的签名算法标识符,有效期,和一些可选择的签名扩展。DER: 对ASN.1的唯一编码规则(Distinguished Encoding Rules for ASN.1),在X.609中定义。DER是BER的一个子集。名称:是在X.5007目录中,唯一标识或区分对象的一种类型。这种类型在X.501中定义。在一个X.509证书中,这种类型标识证书发行者和证书主题,公钥证明的实体。2.2符号在本文档中,所有ASN.1的类型和值用粗体Helvetica 表示。3概述一个认证请求由三部分组成:“认证请求信息”,一个签名算法标识符,和一个签署在认证请求上的数字签名。认证请求信息由实体的可区分名称,实体的公钥,和一些能提供实体其它信息的属性组成。一个认证请求的过程由下面一些步骤组成:1 一个CertificationRequestInfo值包含着在一个实体的认证请求中的,一个可以区分的名称,一个公钥,和一组可选择的属性。2 这个CertificationRequestInfo值被那个实体的私钥签名。(看4.2节)3 这个CertificationRequestInfo值,一个签名算法标识符,和实体的签名被收集到一个CertificationRequest值中,在后面定义。一个认证的权威机构通过鉴别这个请求和验证实体的签名来执行这个请求。如果请求是有效的,就会由可区分的名称,公钥,发行者的名称,认证权威机构的选择的序列号,有效期,签名算法,来构建一个X.509证书。如果认证请求包含任何PKCS#9的属性,认证的权威机构也可以使用这些属性构建X.509证书的扩展部分。在这个过程中,关于认证的权威机构返回的新证书的部分超出了本文档讨论的范围。一个可能的结果是一个PKCS#7内容被签名的的密文, 在一些简并的实例中没有签名者(following the degenerate case where there are no signers 翻译不准)。返回的信息可能包含一条从新证书到认证的权威机构的认证路径。它也可能包含其它的认证信息:如认证机构认为有用的交叉认证信息,也可能包含证书撤销列表(CRLs)。另外的可能是认证机构将这个新的证书加入到中心数据库。注释1 一个实体通常在产生了一个公钥/私钥对,或更改了实体的唯一名称后发出认证请求。注释 2 认证请求中的签名会阻止一个实体使用其它的公钥请求一个证书。这样做会防止一个实体篡改其他实体的签名的信息。当实体不知道信息已经被签名,而且信息中签名的部分不能标识签名者时,这样处理是很重要的。当然,实体也不能解密发给其他人的信息。注释 3 关于实体怎样将认证请求发送给一个认证的权威机构的问题超出了本文档的范围。使用纸质或电子的表格都有可能。注释 4 本文档和加强电子邮件保密性的认证请求语法(如在RFC14245中描述的)不兼容。其中的不同表现在三个方面:本语法允许一个属性集;它不包含发行者的名称,序列号,或有效期;它不要求签署一段“innocuous”信息。本文档的主要设计目的是将请求最小化,主要特点是认证机构以书面形式接收请求。4认证请求语法本节分为两个部分。第一部分描述了认证请求信息的类型CertificationRequestInfo,另一部分描述了最高层的类型CertificationRequest。 4.1CertificationRequestInfo认证请求信息应该符合ASN.1的类型CertificationRequestInfo:CertificationRequestInfo := SEQUENCE version INTEGER v1(0) (v1,.),subject Name,subjectPKInfo SubjectPublicKeyInfo PKInfoAlgorithms ,attributes 0 Attributes CRIAttributes SubjectPublicKeyInfo ALGORITHM : IOSet := SEQUENCE algorithmAlgorithmIdentifier IOSet,subjectPublicKeyBIT STRINGPKInfoAlgorithms ALGORITHM := . - add any locally defined algorithms here - Attributes ATTRIBUTE:IOSet := SET OF Attribute IOSet CRIAttributes ATTRIBUTE := . - add any locally defined attributes here - Attribute ATTRIBUTE:IOSet := SEQUENCE type ATTRIBUTE.&id(IOSet),values SET SIZE(1.MAX) OF ATTRIBUTE.&Type(IOSettype)CertificationRequestInfo类型组成部分的意义如下:version 是版本号,目的是为了和本文档将来的修订版兼容。本标准中的版本号为0。subject 是认证主题的唯一名称(被实体的公钥证明的)。SubjectPublicKeyInfo 包含公钥证明的信息。信息中表明实体的公钥算法(和相关的其他参数);在PKCS#11中的一些公钥算法的例子包含rsaEncryption 对象标识符。信息中也包含着实体公钥的位串表示。正如在公钥算法中提到的,位串中包含着PKCS#1RSAPublicKey类型的值的DER编码。类型SubjectPublicKeyInfo 的值考虑到了subjectPKInfo 会受到信息对象集PKIAlgorithms 的具体值的约束,它包含在扩展标识符()中。具体算法对象的定义在本文档的参考文献中有详细的说明。如果附加的算法对象加入到扩展标识符中,这些具体说明能够和将来的版本互操作。 attributes 是关于认证主题的其他信息属性的一个集合。在PKCS#9中定义的一些属性类型在这里是有用的。其中的一个例子如质询口令属性,它指定了一个口令,将来实体依靠它就可以撤销证书。另一个例子是出现在X.509证书扩展中的信息(例如 PKCS#9中的extensionRequest属性)。类型Attributes 的值考虑到了attributes被信息对象集中的CRIAttributes 指定的值约束的问题。具体属性对象的定义在本文档的参考文献中有详细的说明。如果附加的属性对象加入到扩展标识符中,这些具体说明能够和将来的版本互操作。4.2CertificationRequest一个认证请求应该符合ASN.1的类型 CertificationRequest:CertificationRequest := SEQUENCE certificationRequestInfo CertificationRequestInfo,signatureAlgorithm AlgorithmIdentifier SignatureAlgorithms ,signature BIT STRINGAlgorithmIdentifier ALGORITHM:IOSet := SEQUENCE algorithm ALGORITHM.&id(IOSet),parameters ALGORITHM.&Type(IOSetalgorithm) OPTIONALSignatureAlgorithms ALGORITHM := . - add any locally defined algorithms here - CertificationRequest类型组成部分的意义如下:CertificateRequestInfo 是认证请求信息。它是被签名的信息。SignatureAlgorithm 表示了签名的算法(和相关的其他参数),认证清求中的信息就是用它签名的。例如:一个具体的例子在信息对象集SignatureAlgorithms中可能包括一个PKCS#1算法对象md5WithRSAEncryption :SignatureAlgorithms ALGORITHM := ., NULL IDENTIFIED BY md5WithRSAEncryption signature 是用认证请求主题的私钥将认证请求信息签名的结果。签名过程有两步组成:1CertificationRequestInfo的组成部分被DER编码,产生字节串。 2步骤1的结果被请求认证主题的私钥使用特定的签名算法签名,产生一个位串,也就是签名。注释 一个和CertificationRequest 等价的语法可以如下的形式书写:CertificationRequest := SIGNED EncodedCertificationRequestInfo (CONSTRAINED BY - Verify or sign encoded CertificationRequestInfo - )EncodedCertificationRequestInfo := TYPE-IDENTIFIER.&Type(CertificationRequestInfo)SIGNED ToBeSigned := SEQUENCE toBeSigned ToBeSigned,algorithm AlgorithmIdentifier SignatureAlgorithms ,signature BIT STRINGA ASN.1 模块附录A包含了所有在本文档中使用的ASN.1中的类型和值的定义。表现形式为ASN.1模型PKCS-10.PKCS-10 iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-10(10) modules(1) pkcs-10(1) DEFINITIONS IMPLICIT TAGS := BEGIN- EXPORTS All - All types and values defined in this module are exported for use in other ASN.1 modules.IMPORTSinformationFramework, authenticationFrameworkFROM UsefulDefinitions joint-iso-itu-t(2) ds(5) module(1) usefulDefinitions(0) 3 ATTRIBUTE, NameFROM InformationFramework informationFrameworkALGORITHMFROM AuthenticationFramework authenticationFramework;- Certificate requestsCertificationRequestInfo := SEQUENCE version INTEGER v1(0) (v1,.),subject Name,subjectPKInfo SubjectPublicKeyInfo PKInfoAlgorithms ,attributes 0 Attributes CRIAttributes SubjectPublicKeyInfo ALGORITHM: IOSet := SEQUENCE algorithmAlgorithmIdentifier IOSet,subjectPublicKey BIT STRINGPKInfoAlgorithms ALGORITHM := . - add any locally defined algorithms here - Attributes ATTRIBUTE:IOSet := SET OF Attribute IOSet CRIAttributes ATTRIBUTE := . - add any locally defined attributes here - Attribute ATTRIBUTE:IOSet := SEQUENCE type ATTRIBUTE.&id(IOSet),values SET SIZE(1.MAX) OF ATTRIBUTE.&Type(IOSettype)CertificationRequest := SEQUENCE certificationRequestInfoCertificationRequestInfo,signatureAlgorithmAlgorithmIdentifier SignatureAlgorithms ,signature BIT STRINGAlgorithmIdentifier ALGORITHM:IOSet := SEQUENCE algorithm ALGORITHM.&id(IOSet),parameters ALGORITHM.&Type(IOSetalgorithm) OPTIONALSignatureAlgorithms ALGORITHM := . - add any locally defined algorithms here - END.B 知识产权事项RSA Security公司没有对本文中做出的一般性介绍提出专利要求,虽然可能涉及到一些基本的技术细节。本文档允许复制,但要在所有提到或引用本文的地方标明“RSA Data Security, Inc. Public-Key Cryptography Standards (PKCS)”。RSA Security公司不对其他有关方面的知识产权声明做任何陈述。用户请自己确认。C 修订历史版本1.0版本1.0是这篇文档的前一个版本(在6发表的时候被成为版本1.5)版本1.7本版本合并了几处编辑上的修改,包括参考文献的更新材料和一些ASN.1种类型定义的变化。下面几处作了较大的改动:l 本版本引用了当前最近的ASN.1的国际标准和它的编码规则X.680-X.690。除去了所有涉及X.208和X.209的参考内容。l X.690标准要求各个组成部分的编码值按照DER升序的顺序存储。不考虑这些,应用程序不依赖属性组件的顺序。l 所有关于PKCS#6扩展证书语法标准的参考都已经被删除。随着对X.509版本3证书的扩展支持的增加,RSA实验室正在逐渐取消对PKCS#6的支持。注释 使用本文档1.7版本的原因是为了避免和6,还有一个已经不再支持的版本1.6的混淆,6被命名为1.5版。D 参考文献1 RSA Laboratories. PKCS #1: RSA Encryption Standard. Version 2.0, October 1998.2 RSA Laboratories. PKCS #7: Cryptographic Message Syntax Standard. Version 1.5, November 1993.3 RSA Laboratories. PKCS #9: Selected Attribute Types. Version 2.0, February 2000.4 C. Adams, S. Farrell. RFC 2510: Internet X.509 Public Key Infrastructure Certificate Management Protocols. March 1999.5 B. Kaliski. RFC 1424: Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services. February 1993.6 B. Kaliski. RFC 2314: PKCS #10: Certification Request Syntax Version 1.5. March 1998.7 ITU-T Recommendation X.500 (1997) | ISO/IEC 9594-1:1998, Information technology - Open Systems Interconnection - The Directory: Overview of concepts, models and services.8 ITU-T Recommendation X.501 (1993) | ISO/IEC 9594-2:1995, Information technology - Open Systems Interconnection - The Directory: Models.9 ITU-T Recommendation X.509 (1997) | ISO/IEC 9594-8:1998, Information technology - Open Systems Interconnection -The Directory: Authentication framework.10 ITU-T Recommendation X.680 (1997) | ISO/IEC 8824-1:1998, Information Technology - Abstract Syntax Notation One (ASN.1): Specification of Basic Notation.11 ITU-T Recommendation X.681 (1997) | ISO/IEC 8824-2:1998, Informatio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论