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

下载本文档

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

文档简介

PKCS#10v1.7---CertificationRequestSyntaxStandard认证请求语法标准PKCS#10v1.7---CertificationRequestSyntaxStandard认证请求语法标准PKCS/PKIXPKCS/PKIX中文翻译计划组织:PKI论坛()PKCS/PKIX中文翻译计划论坛电子邮件:pki@译者:sql2000(付少庆)(fushaoqing@)版权:本中文翻译文档版权归PKI但必须保留本文档的翻译及版权信息。如用于商业目的,所得利润需用于PKI论坛的发展。日期修改章节日期修改章节类型修改描述修改人2005/03/26全部C创建文档sql2000*修改类型分为C-产生一-附加的M-修正D-划除PKCS#10v1.7认证请求语法标准(PKCS#10v1.7:CertificationRequestSyntaxStandard)RSA实验室2000年5月26*目录:绪论 3定义与符号 3定义 3符号 4概述 4认证请求语法 5CertificationRequestInfo 5CertificationRequest 6ASN.1模块 7知识产权事项 8修订历史 8参考文献 9关于PKCS 10绪论X.509[9](在那种形式中认证的权威机构返回一个新的签名的证书,这部分的介绍超出了本文档的范围。可能是一条PKCS#7[2])包含属性集有双重目的:提供特定实体的其它相关信息,或者是个难破解的口令,依靠那个口令实体可以在将来要求证书撤销;提供X.509证书的内部信息。PKCS#9[3]给出了一个比较详细的属性列表。本文档最初的应用意图是支持PKCS#7([4])定义与符号定义为了说明本文档,应用下面的一些定义。算法:在X.509中定义的一个信息对象类,被描述为由一个算法(一个唯一的对象标识符和他的参数(任意的ASN.1类型)组成。在这个类中,对象的值由ASN.1{}算法类型标识符[11],AnnexA算法标识符,,X.509标识符与他们的相关的参数类型紧密绑定。当引用的时候,单个的AlgorithmIdentifier{}指定了在一个类型实例中约束出现的值对。AlgorithmIdentifier{}的编码值等价于这些属性的类型。AS.:抽象语法符号,参见ASN.1中定义的标准[10],[11],[12和[13。属性:描述了组成对象的属性(一个唯一的对象标识符和一个相关的属性值的集合(ASN.1类型Attribute{}。,X.501[8]ASN.1类型被定义为ATTRIBUTE.&id,一个属性值被定义为。当引用的时候,单个的Attribute{}Attribute{}的编码值等价于这些属性的类型。BER:基本编码规则(BasicEncodingRules),定义在X.690中([14])。证书:用数字签名将一个可区分的实体名称和一个公钥绑定到一起的一种类型。这种类型在X.509中定义。这种类型也包括证书发行者的可区分名称(签名者列号,发行者的签名算法标识符,有效期,和一些可选择的签名扩展。DER:对ASN.1的唯一编码规则DistinguishedEncodingRulesforASN.1,在X.609DERBER的一个子集。名称:是在X.500[7]目录中,唯一标识或区分对象的一种类型。这种类型在X.501中定义。在一个X.509证书中,这种类型标识证书发行者和证书主题,公钥证明的实体。2.2符号在本文档中,所有ASN.1的类型和值用粗体Helvetica表示。概述一个认证请求由三部分组成其它信息的属性组成。一个认证请求的过程由下面一些步骤组成:一个CertificationRequestInfo的名称,一个公钥,和一组可选择的属性。CertificationRequestInfo(4.2节)CertificationRequestInfoCertificationRequest值中,在后面定义。一个认证的权威机构通过鉴别这个请求和验证实体的签名来执行这个请求。如果请求是有X.509PKCS#9的属性,认证的权威机构也X.509证书的扩展部分。在这个过程中,关于认证的权威机构返回的新证书的部分超出了本文档讨论的范围。一个可能的结果是一个PKCS#7内容被签名的的密文,在一些简并的实例中没有签名(followingthedegeneratecasewheretherearenosigners(CRLs库。1/私钥对,或更改了实体的唯一名称后发出认证请求。2标识签名者时,这样处理是很重要的。当然,实体也不能解密发给其他人的信息。注释3关于实体怎样将认证请求发送给一个认证的权威机构的问题超出了本文档的范围。使用纸质或电子的表格都有可能。4本文档和加强电子邮件保密性的认证请求语法(RFC1424[5]中描述的)“innocuos息。本文档的主要设计目的是将请求最小化,主要特点是认证机构以书面形式接收请求。认证请求语法本节分为两个部分。第一部分描述了认证请求信息的类型CertificationRequestInfo,另一部分描述了最高层的类型CertificationRequest。CertificationRequestInfo认证请求信息应该符合ASN.1CertificationRequestInfo:CertificationRequestInfo::=SEQUENCE{versionsubject

INTEGER{v1(0)}(v1,...),Name,subjectPKInfo SubjectPublicKeyInfo{{PKInfoAlgorithms}},attributes}

[0]Attributes{{CRIAttributes}}SubjectPublicKeyInfo{ALGORITHM:IOSet}::=SEQUENCE{algorithmsubjectPublicKey}

AlgorithmIdentifier{{IOSet}},BITSTRINGPKInfoAlgorithmsALGORITHM::={... --addanylocallydefinedalgorithmshere--}Attributes{ATTRIBUTE:IOSet}::=SETOFAttribute{{IOSetCRIAttributes ATTRIBUTE ::={...--addanylocallydefinedattributeshere--}Attribute{ATTRIBUTE:IOSet}::=SEQUENCE{type ATTRIBUTE.&id({IOSet}),values SETSIZE(1..MAX)OFATTRIBUTE.&Type({IOSet}{@type})}CertificationRequestInfo类型组成部分的意义如下:version是版本号,目的是为了和本文档将来的修订版兼容。本标准中的版本号为0。subject是认证主题的唯一名称(被实体的公钥证明的。SubjectPublicKeyInfo(和相关的其他参数;在PKCS#1[1]中的一些公钥算法的例子包含rsaEncryption对象标识符。信息中也包含着实体公钥的位串表示。正如在公钥算法中提到的,位串中包含着PKCS#1RSAPublicKeyDERSubjectPublicKeyInfo{}subjectPKInfo会受到信息对象集PKIAlgorithms的具体值的约束,它包含在扩展标识符(„)些具体说明能够和将来的版本互操作。attributesPKCS#9它就可以撤销证书。另一个例子是出现在X.509证书扩展中的信息(例如PKCS#9中的extensionRequest属性。类型Attributes{}的值考虑到了attributes被信息对象集中的CRIAttributes指定的值约束的问题。具体属性对象的定义在本文档的参考文献中有详细的CertificationRequest一个认证请求应该符合ASN.1的类型CertificationRequest:CertificationRequest::=SEQUENCE{certificationRequestInfo CertificationRequestInfo,signatureAlgorithmsignature}

AlgorithmIdentifier{{SignatureAlgorithms}},BITSTRINGAlgorithmIdentifier{ALGORITHM:IOSet}::=SEQUENCE{algorithmparameters}

ALGORITHM.&id({IOSet}),ALGORITHM.&Type({IOSet}{@algorithm})OPTIONALSignatureAlgorithmsALGORITHM::={...--addanylocallydefinedalgorithmshere--}CertificationRequest类型组成部分的意义如下:CertificateRequestInfo是认证请求信息。它是被签名的信息。SignatureAlgorithm表示了签名的算法(和相关的其他参数具体的例子在信息对象集SignatureAlgorithms中可能包括一个md5WithRSAEncryption:SignatureAlgorithmsALGORITHM::={...,{NULLIDENTIFIEDBYmd5WithRSAEncryption}}signature是用认证请求主题的私钥将认证请求信息签名的结果。签名过程有两步组成:CertificationRequestInfo的组成部分被DER编码,产生字节串。步骤1就是签名。注释一个和CertificationRequest等价的语法可以如下的形式书写:CertificationRequest::=SIGNED{EncodedCertificationRequestInfo}(CONSTRAINEDBY{--VerifyorsignencodedCertificationRequestInfo--EncodedCertificationRequestInfo::= TYPE-IDENTIFIER.&Type(CertificationRequestInfo)SIGNED{ToBeSigned}::=SEQUENCE{toBeSigned ToBeSigned,algorithm AlgorithmIdentifier{{SignatureAlgorithms}},signature BITSTRING}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)}DEFINITIONSIMPLICITTAGSBEGIN--EXPORTSAll----AlltypesandvaluesdefinedinthismoduleareexportedforuseinotherASN.1modules.IMPORTSinformationFramework,authenticationFrameworkFROMUsefulDefinitions{joint-iso-itu-t(2)ds(5)module(1)usefulDefinitions(0)3}ATTRIBUTE,NameFROMInformationFrameworkinformationFrameworkALGORITHMFROMAuthenticationFrameworkauthenticationFramework;--CertificaterequestsCertificationRequestInfo::=SEQUENCE{version INTEGER{v1(0)}(v1,...),subject Name,subjectPKInfoSubjectPublicKeyInfo{{PKInfoAlgorithmsattributes [0]Attributes{{CRIAttributes}}}SubjectPublicKeyInfo{ALGORITHM:IOSet}::=SEQUENCE{algorithm AlgorithmIdentifier{{IOSet}},subjectPublicKey BITSTRING}PKInfoAlgorithmsALGORITHM::={... --addanylocallydefinedalgorithmshere--Attributes{ATTRIBUTE:IOSet}::=SETOFAttribute{{IOSet}}CRIAttributes ATTRIBUTE ::={...--addanylocallydefinedattributeshere--Attribute{ATTRIBUTE:IOSet}::=SEQUENCE{type ATTRIBUTE.&id({IOSet}),values SETSIZE(1..MAX)OFATTRIBUTE.&Type({IOSet}{@type})}CertificationRequest::=SEQUENCE{certificationRequestInfo signatureAlgorithmsignature}

AlgorithmIdentifier{{SignatureAlgorithms}},BITSTRINGAlgorithmIdentifier{ALGORITHM:IOSet}::=SEQUENCE{algorithmparameters}

ALGORITHM.&id({IOSet}),ALGORITHM.&Type({IOSet}{@algorithm})OPTIONALSignatureAlgorithmsALGORITHM::={...--addanylocallydefinedalgorithmshere--}END.知识产权事项RSASecurity基本的技术细节。本文档允许复制,但要在所有提到或引用本文的地方标明 “RSADataSecurity,Inc.Public-KeyCryptographyStandards(PKCS)”。RSASecurity公司不对其他有关方面的知识产权声明做任何陈述。用户请自己确认。修订历史1.01.0是这篇文档的前一个版本([6]1.7本版本合并了几处编辑上的修改,包括参考文献的更新材料和一些ASN.1种类型定义的变化。下面几处作了较大的改动:本版本引用了当前最近的ASN.1的国际标准和它的编码规则X.680-X.690所有涉及X.208和X.209的参考内容。X.690DER应用程序不依赖属性组件的顺序。PKCS#6X.509版本3证书的扩展支持的增加,RSA实验室正在逐渐取消对PKCS#6的支持。注释–1.7[6]1.6混淆,[6]1.5版。参考文献 RSALaboratories.PKCS#1:RSAEncryptionStandard.VersionOctober1998.RSA Laboratories. PKCS #7: Cryptographic Message Syntax Standard.Version1.5,November1993.RSALaboratories.PKCS#9:SelectedAttributeTypes.Version2.0,February2000.C.Adams,S.Farrell. RFC2510:InternetX.509PublicKeyInfrastructure –CertificateManagementProtocols.March1999.B.Kaliski.RFC1424:PrivacyEnhancementforInternetElectronicPartIV:KeyCertificationandRelatedServices.February1993.B. Kaliski. RFC 2314: PKCS #10: Certification Request Version1.5.March1998.ITU-TRecommendationX.500(1997)|ISO/IEC9594-1:1998,Informationtechnology-OpenSystemsInterconnection-TheDirectory:Overviewofconcepts,modelsandservices.ITU-TRecommendationX.501(1993)|ISO/IEC9594-2:1995,Informationtechnology-OpenSystemsInterconnection-TheDirectory:Models.ITU-TRecommendationX.509(1997)|ISO/IEC9594-8:1998,Informationtechnology-OpenSystemsInterconnection-TheDirectory:Authenticationframework.ITU-TRecommendationX.680(1997)|ISO/IEC8824-1:1998,InformationTechnology-AbstractSyntaxNotationOne(ASN.1):SpecificationBasicNotation.ITU-TRecommendationX.681(1997)|ISO/IEC8824-2:199

温馨提示

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

评论

0/150

提交评论