证书拓展域(1)

证书拓展定义了数字证书的标准拓展,每个拓展域GB/T 16264.8-200X中定义的一个OID相关。
这些OID都是id-ce的成员,其定义如下:

id-ce   OBJECT IDENTIFIER ::=  { joint-iso-ccitt(2) ds(5) 29 }

1.证书策略 certificatePolicies

1.1 定义

本项列出了由颁发CA认可的证书策略,这些策略适用于证书以及关于这些证书策略的任选的限定符信息。
证书策略拓展包含了一系列策略条目信息条目,每个条目都有一个oid和一个可选的限定条件。这个可选的限定条件不能改变策略的定义。

{id-ce 32}  2.5.29.32

1.2 结构定义

id-ce-certificatePolicies OBJECT IDENTIFIER ::=  { id-ce 32 }

anyPolicy OBJECT IDENTIFIER ::= { id-ce-certificatePolicies 0 }
certificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation

PolicyInformation ::= SEQUENCE {
        policyIdentifier   CertPolicyId,
        policyQualifiers   SEQUENCE SIZE (1..MAX) OF
                                PolicyQualifierInfo OPTIONAL }
CertPolicyId ::= OBJECT IDENTIFIER

PolicyQualifierInfo ::= SEQUENCE {
        policyQualifierId  PolicyQualifierId,
        qualifier          ANY DEFINED BY policyQualifierId }

qualifier 为枚举常量

id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
PolicyQualifierId ::= OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
Qualifier ::= CHOICE {
        cPSuri           CPSuri,
        userNotice       UserNotice }

CPSuri ::= IA5String

UserNotice ::= SEQUENCE {
        noticeRef        NoticeReference OPTIONAL,
        explicitText     DisplayText OPTIONAL }

NoticeReference ::= SEQUENCE {
        organization     DisplayText,
        noticeNumbers    SEQUENCE OF INTEGER }

DisplayText ::= CHOICE {
        ia5String        IA5String      (SIZE (1..200)),
        visibleString    VisibleString  (SIZE (1..200)),
        bmpString        BMPString      (SIZE (1..200)),
        utf8String       UTF8String     (SIZE (1..200)) }

2.策略映射 policyMappings

2.1 定义

本项只用于CA证书。它列出了一个多个OID对,每对包括一个issuerDomainPolicy和一个subjectDomaimPolicy。这种成对形式表明,颁发者CA认为其issuerDomainPolicy与主体CA的subjectDomainPolicy是等效的。颁发者CA的用户可以为某应用接受一个issuerDomainPolicy。策略映射告知颁发者CA的用户,哪些同CA有关的策略可以与它们接收到的策略是等效的。

2.2 结构定义

id-ce-policyMappings OBJECT IDENTIFIER ::=  { id-ce 33 }

PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
        issuerDomainPolicy      CertPolicyId,
        subjectDomainPolicy     CertPolicyId }

2.2说明

在证书策略与策略映射中定义的为证书制定者与适用者的策略映射,预计只在一个非常简单有限环境中使用。

3.颁发机构密钥标识符 authorityKeyIdentifier

3.1定义

颁发机构密钥标识符拓展提供了一种方式,以识别与证书签名是要响应的公钥。当颁发者由于有多个密钥共存或由于发生变化而具有多个签名密钥时使用该拓展。识别Ke基于颁发者证书中的主体密钥标识符或基于颁发者的名称和序列号。

3.2 结构定义

id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }

AuthorityKeyIdentifier ::= SEQUENCE {
      keyIdentifier             [0] KeyIdentifier           OPTIONAL,
      authorityCertIssuer       [1] GeneralNames            OPTIONAL,
      authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL  }

KeyIdentifier ::= OCTET STRING

4.主体密钥标识符 subjectKeyIdentifier

4.1 定义

此拓展标识了被认证的公钥。他能够区分同一主题使用的不同密钥(CA密钥被更新时)。

4.3 结构定义

id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 14 }

SubjectKeyIdentifier ::= KeyIdentifier

5.密钥用法 keyUsage

5.1定义

此拓展定义了已认证的公开密钥用于何种用途。

5.2 结构定义

id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }

KeyUsage ::= BIT STRING {
           digitalSignature        (0),
           nonRepudiation          (1), -- recent editions of X.509 have
                                -- renamed this bit to contentCommitment
           keyEncipherment         (2),
           dataEncipherment        (3),
           keyAgreement            (4),
           keyCertSign             (5),
           cRLSign                 (6),
           encipherOnly            (7),
           decipherOnly            (8) }

5.3说明

KeyUsage类型中的用法如下:

a) digitalSignature:验证下列 b)、f)、g)所标识的用途之外的数字签名;
b) nonRepudiation:验证用来提供抗抵赖服务的数据签名,这种服务防止签名实体不实的拒绝某种行为(不包含f)或g)中的证书或CRL签名);
c) keyEncipherment:加密密钥或其他安全信息,例如用于密钥传输;
d) dataEncipherment:加密用户数据,但不包括上面c)中的密钥或其他安全信息;
e) keyAgreement:用作公开的密钥协商;
f) keyCertSign:验证证书的CA签名;
g) cRLSign:验证CRL的CA签名;
h) encipherOnly:当设置keyAgreement位一起使用,公开密钥协商密钥仅用于加密数据;
i) decipherOnly:当设置keyAgreement位一起使用,公开密钥协商密钥仅用于解密数据;

6.扩展密钥用途 extKeyUsage

6.1 定义

此拓展指明已验证的公开密钥可以用于一种或多种用途,他们可作为对密钥用法扩展项中指明的基本用途的补充或替代。

6.2 结构定义

id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 }

ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId

KeyPurposeId ::= OBJECT IDENTIFIER

6.3 说明

anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 }

id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }

对应的密钥用途定义如下:

 id-kp-serverAuth             OBJECT IDENTIFIER ::= { id-kp 1 }

TLS Web server 鉴别
Key Usage 可以设置为 digitalSignature keyEncipherment或keyAgreement

id-kp-clientAuth             OBJECT IDENTIFIER ::= { id-kp 2 }

TLS Web client 鉴别
Key Usage 可以设置为 digitalSignature keyEncipherment或keyAgreement

id-kp-codeSigning             OBJECT IDENTIFIER ::= { id-kp 3 }

可用作代码签名
Key Usage 可以设置为 digitalSignature

id-kp-emailProtection         OBJECT IDENTIFIER ::= { id-kp 4 }

Email保护
Key Usage 可以设置为 digitalSignature nonRepudiation

id-kp-timeStamping            OBJECT IDENTIFIER ::= { id-kp 8 }

将对象的散列值与同一时间源提供的时间绑定
Key Usage 可以设置为 digitalSignature nonRepudiation

id-kp-OCSPSigning            OBJECT IDENTIFIER ::= { id-kp 9 }

将对象的散列值与同一时间源提供的时间绑定
Key Usage 可以设置为 digitalSignature nonRepudiation

7.私有密钥使用期 privateKeyUsagePeriod

7.1定义

此拓展指明与已验证的公开密钥对对应的私有密钥的使用期限。只能用于数字签名密钥。

7.2 结构定义

id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::=  { id-ce 16 }

PrivateKeyUsagePeriod ::= SEQUENCE {
     notBefore       [0]     GeneralizedTime OPTIONAL,
     notAfter        [1]     GeneralizedTime OPTIONAL }
     -- either notBefore or notAfter MUST be present

8.主体替换名称 subjectAltName

8.1 定义

此拓展包含一个或多个替换名(可使用多种名称形式中的任一个)供实体使用,CA把该实体与认证的公开密钥绑定到一起。
主体替换名拓展允许把附加身份加载证书主体上。所定义的选项抱愧电子邮件地址、DNS名称、IP地址和统一资源标识符(URI)。

8.2 结构定义

id-ce-subjectAltName OBJECT IDENTIFIER ::=  { id-ce 17 }

SubjectAltName ::= GeneralNames

GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName

GeneralName ::= CHOICE {
        otherName                       [0]     OtherName,
        rfc822Name                      [1]     IA5String,
        dNSName                         [2]     IA5String,
        x400Address                     [3]     ORAddress,
        directoryName                   [4]     Name,
        ediPartyName                    [5]     EDIPartyName,
        uniformResourceIdentifier       [6]     IA5String,
        iPAddress                       [7]     OCTET STRING,
        registeredID                    [8]     OBJECT IDENTIFIER }

OtherName ::= SEQUENCE {
        type-id    OBJECT IDENTIFIER,
        value      [0] EXPLICIT ANY DEFINED BY type-id }

EDIPartyName ::= SEQUENCE {
        nameAssigner            [0]     DirectoryString OPTIONAL,
        partyName               [1]     DirectoryString }

8.3说明

该拓展多用于多域名的站点证书中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值