当前位置: 首页 > news >正文

证书拓展域(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 PolicyInformationPolicyInformation ::= SEQUENCE {policyIdentifier   CertPolicyId,policyQualifiers   SEQUENCE SIZE (1..MAX) OFPolicyQualifierInfo OPTIONAL }
CertPolicyId ::= OBJECT IDENTIFIERPolicyQualifierInfo ::= 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 ::= IA5StringUserNotice ::= 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 contentCommitmentkeyEncipherment         (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 KeyPurposeIdKeyPurposeId ::= 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 ::= GeneralNamesGeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralNameGeneralName ::= 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说明

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

http://www.lryc.cn/news/33510.html

相关文章:

  • 浅谈ChatGPT 和 对AI 的思考
  • NCRE计算机等级考试Python真题(十二)
  • Java并发类库提供的线程池有哪几种? 分别有什么特点?
  • 企业微信如何群发消息到客户群?
  • 【信号与系统笔记】第一章 绪论
  • [神经网络]DETR目标检测网络
  • 【服务器管理】connection refused问题解决
  • 2023_华为OD机试真题_Python_047_整理扑克牌
  • 吐血整理,自动化测试pytest测试框架,资深测试带你少走弯路......
  • SAP BASE64加密及解密
  • 【页面无响应】Web页面经常无响应前端如何定位与优化(已解決)
  • 隐私计算 FATE - 多分类神经网络算法测试
  • Codeforces Round 853 (Div. 2)
  • Ka频段需要更多带宽?
  • 初学pyinstaller打包过程中的一些问题
  • 第七章:Java常用类
  • Apk加固后多渠道打包
  • K8S + ISTIO 金丝雀部署的例子
  • python自带数据的模型合集
  • 女生学习大数据怎么样~有前景么
  • 统计代码量
  • uniapp在线升级关联云空间
  • 学习streamlit-2
  • Vscode中Vue文件保存格式化、 ElementUI、Font Awesome俩大插件使用
  • 汽车标定知识整理(三):CCP报文可选命令介绍
  • kubeadm安装K8S(集群)
  • Baumer工业相机堡盟相机如何使用PnPEventHandler实现相机掉线自动重连(C++新)
  • Windows 命令行基础
  • 面试官: 谈下音视频同步原理,音频和视频能绝对同步吗?
  • CFS三层靶机安装与配置