证书拓展域(1)
创始人
2024-05-30 01:36:19
0

证书拓展定义了数字证书的标准拓展,每个拓展域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说明

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

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...