您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > x509v3证书简介
X509v3证书详解Jade2020/01目录概述X.509v3证书证书基本信息证书扩展X.509v2CRLCRL基本信息CRL扩展证书路径验证CRL验证附录概述本胶片描述RFC5280定义的因特网的X.509v3证书和X.509v2证书吊销列表(CRL)。RFC5280是X.509公钥基础设施系列标准之一:定义了用于因特网的x509v3证书的格式和语法定义了用于因特网的x509v2CRL的格式和语法定义了验证证书路径的算法定义了验证CRL的算法本胶片系作者出于个人需要,对RFC5280的阅读总结,能力有限,仅作为该规范的导读和参考材料。PKI(PublicKeyInfrastructure)实体PKI涉及的主要功能实体endentity:终端实体,PKI证书的用户、终端系统,它们同时可以是证书的主体(subject)CA:certificateauthority,证书颁发机构,根据上下文也指证书的签发者(实际也是一张证书),即CA可以发行(签发)证书RA:registrationauthority,注册机构,被CA委派特定管理功能的实体,比如签发证书CRLIssuer:CRL的生成和签发者Repository:用于分发证书/CRL的系统PKI实体关系CA可以委派RA发行证书,委派CRLIssuer发行CRL;CA自身可以发行证书和CRLX.509v3证书X.509v3证书X.509v3公钥证书包含终端实体的主体信息(subject)和其拥有的公钥的绑定关系公钥和公钥拥有者(终端实体)的绑定关系需经受信任的CA签名X.509v3证书中包含签名者的主体信息,称为IssuerSubjectX.509v3证书中包含绑定关系的有效期X.509证书历史ITU-TX.5091988定义了数字证书的最初格式,v1版本;ITU-TX.5091993对v1进行了修订,称为v2版本;随着互联网的发展,v1/v2暴露出一些不足,ISO/IEC,ITU-T,andANSIX9在1996年完成了v3版本,并定义了v3extension;由于ISO/ITU定义的v3证书特别宽泛,基于互联网的应用,满足其互操作性的要求,RFC先后定义了rfc3280(2002)和RFC5280(2008,废弃2002),定义满足互联网应用要求的x.509v3证书和CRLv2规范。证书分类证书分类CA证书交叉证书:证书中Subject和Issuer不同自发行证书:证书中Subject和Issuer相同自签证书:证书中Subject和Issuer相同,且签名可以通过证书中公钥验签,自签证书是自发行证书的特例Endentity证书证书信任路径(信任链)证书路径每张证书的公钥和证书主体的绑定关系由CA签名保证;自顶向下构成证书签发关系,验证时自下向上直至溯源到信任锚点证书证书的信任链的起点称为:TrustAnchor,不一定是一张自签名证书Subject:CA2Issuer:CA3Pubkey:CA2'spubkeyExtension:certificateextensionSign_algo:signaturealgorithmSignature:Signature:signatureusingCA3'sprivatekeySubject:client_AIssuer:CA1Pubkey:client_A’spubkeyExtension:certificateextensionSign_algo:signaturealgorithmSignature:signatureusingCA1'sprivatekeySubject:CA1Issuer:CA2Pubkey:CA1'spubkeyExtension:certificateextensionSign_algo:signaturealgorithmSignature:signatureusingCA2'sprivatekeyclient_A证书CA1证书CA2证书签发签发验证验证X.509v2证书吊销列表(CRL)证书吊销方式发布CRL:周期发布,实时性差OCSP(RFC6960):在线验证,实时性好其他CRL包含内容被吊销证书的serialno.集合吊销原因发布日期、下次发布日期CA或CRLIssuer对CRL中被吊销证书列表的签名目录概述X.509v3证书证书基本信息证书扩展X.509v2CRLCRL基本信息CRL扩展证书路径验证CRL验证附录X.509v3证书格式总览X.509v3证书基于ITUX.509v3格式,采用ASN.1编码(TLV)整体上包含3部分:tbsCertificate:CertificatetoBeSigned,证书基本信息:包括证书的序列号(serialno.)、证书主体(subject)、证书主体的公钥、证书有效期、发行者主体,证书扩展信息等SignatureAlgorithm:证书签名算法SignatureValue:证书的签名,签名是使用签名者(CA/Issuer)的私钥,用SignatureAlgorithm指定的算法,对整个tbsCertificate进行签名证书基本信息subject:证书主体信息,即证书持有人信息subjectPublicKeyInfo:证书持有人的公钥信息issuerUniqueID:发行者主体唯一标识符subjectUniqueID:证书主体唯一标识符extensions:证书的扩展选项注:issuerUniqueID和subjectUniqueID用于证书主体和发行者主体的名称重用,互联网应用的证书不应出现这连个字段,因此RFC5280不推荐使用这两个字段证书基本信息:version:版本号:0(v1)/1(v2)/2(v3)serialNumber:序列号,最大支持20byte的大数序列号signature:签名算法issuer:发行者(签名者)主体信息validity:有效期证书基本信息-Versionversion:证书的版本号version:证书的版本号:0(v1)、1(v2)、2(v3);如果证书中没有extensions,且存在UniqueIdentifier,则version应该取值v2,也可能为v3如果证书只有基本信息(从version到subjectPublicKeyInfo),version取值为1证书基本信息-SerialNumberSerialNumber:证书编号CA签发证书时,为该证书生成的一个非负整数,同一CA签发的每张证书的SerialNo.必须唯一,即CA的Subject+SerialNo.唯一确定一张证书SerialNo.最长为20个字节的长整数证书基本信息-Signaturesignature:此处指的是签名算法,用OID表示该字段包含了CA为该证书签名时,使用的签名算法的标识(OID);该字段取值和证书外部字段:SignatureAlgorithm必须保持一致;[RFC3279]、[RFC4055]和[RFC4491]定义了各签名算法签名算法OID举例sha256WithRSAEncryption:1.2.840.113549.1.1.11md5WithRSAEncryption:1.2.840.113549.1.1.4sha1WithRSAEncryption:1.2.840.113549.1.1.5证书基本信息-Issuerissuer:证书发布主体证书发行者(签名者)主体名称,该字段必须包含非空的distinguishedname(简称DN),DN是X.501定义的一个Name类型,是一组由逗号分隔的RDN的序列,比如:Issuer:C=US,O=GoogleTrustServices,CN=GTSCA1O1Issuer的ASN.1编码格式定义证书基本信息-Issuer主体名称必须支持的标准属性类型类型名称简写OIDcountryC2.5.4.6organizationO2.5.4.10organizationalunitOU2.5.4.11distinguishednamequalifierdnQualifier2.5.4.46stateorprovincenameST2.5.4.8commonnameCN2.5.4.3serialnumberN/A2.5.4.5注:证书基本信息中subject字段同样遵守上述定义范围证书基本信息-Issuer主体名称建议支持的标准属性类型类型名称简写OID说明localityL2.5.4.7titleN/A2.5.4.12头衔、称谓surnameSN2.5.4.4FirstnamegivennameGN2.5.4.42LastnameinitialsN/A2.5.4.43名字首字母,如“JohnRobertSmith”可以表示未JRSpseudonymN/A2.5.4.65笔名generationqualifierN/A2.5.4.44某个人是几世domainComponentDC2.5.4.25域名nameName2.5.4.41全球唯一名称emailAddressN/A1.2.840.113549.1.9.1已废弃注:证书基本信息中subject字段同样遵守上述定义范围证书基本信息-Validityvalidity:证书的有效期[notBefore,notAfter]证书有效期:CA维护证书状态的时间段格式UTCTime:有效期在2049年前的证书用该格式GeneralizedTime:有效期在2050年之后的证书用该格式对于和设备序列号绑定的证书,证书可以是无限的,证书结束时间应该是GeneralizedTime格式的值:99991231235959Z证书基本信息-Subjectsubject:证书的主体,标识证书公钥的持有者证书主体信息,即subjectPublicKeyInfo所包含公钥的持有人;证书主体和Issuer定义一样,是X.501类型的Name,且包含类似的RDN集合;如果Subject是一个CA,则CA证书中的subject必须包含非空的DN,并且与其签发的证书中的issuer字段保持一致;如果Subject是一个CRLIssuer,CRLIssuer证书中的subject必须包含非空DN,并且与其签发的所有CRL文件中的issuer字段保持一致;证书扩展extensions中可以包含subjectAltName扩展,当subject为空时,extensions中必须包含subjectAltName对于endentity证书,由同一个CA签发时,每个endentity必须包含唯一的主体信息,但是允许CA为同一个endentity签发多张证书证书基本信息-SubjectPublicKeyInfoSubjectPublicKeyInfo:公钥信息包含公钥和公钥对应的算法(RSA/DSA/DH),公钥信息根据算法不同而不同公钥算法RSA:OID:1.2.840.113549.1.1.1DSA:OID:1.2.840.10040.4.1ECDSA:OID:1.2840.10045.4证书基本信息-UniqueIdentifiersUniqueIdentifiers:包括issuerUniqueID和subjectUniqueID主体名称和证书主体名称唯一标识符用于发行者主体名称和证书主体名称的重用,协议对于v3证书建议不使用这2个字段证书基本信息-汇总证书基本信息字段名称字段描述备注version证书的版本号v1/v2/v3serialNumber证书的序列号最大长度20byte的非负整数signature签名算法OIDissuer证书的发行者主体DN名称validity证书的有效期subject证书主体DN名称证书内公钥(私钥)的拥有者subj
本文标题:x509v3证书简介
链接地址:https://www.777doc.com/doc-5056650 .html