当前位置: 首页 > 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说明

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

相关文章:

证书拓展域(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 定义 本…...

浅谈ChatGPT 和 对AI 的思考

新世纪以来,人工智能作为一个非常热门话题,一直收到大众的广泛的关注。从一开始的图像的分类,检测,到人脸的识别,到视频分析分类,到事件的监测,到基于图片的文本生成,到AI自动写小说…...

NCRE计算机等级考试Python真题(十二)

第十二套试题1、以下关于程序设计语言的描述,错误的选项是:A.Python语言是一种脚本编程语言B.汇编语言是直接操作计算机硬件的编程语言C.程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D.编译和解释的区别是一次性翻译程序还是每次执行时都要翻…...

Java并发类库提供的线程池有哪几种? 分别有什么特点?

第21讲 | Java并发类库提供的线程池有哪几种? 分别有什么特点? 我在专栏第 17 讲中介绍过线程是不能够重复启动的,创建或销毁线程存在一定的开销,所以利用线程池技术来提高系统资源利用效率,并简化线程管理&#xff0c…...

企业微信如何群发消息到客户群?

为提升工作效率,工作中,企业常常会借助企业微信的群发功能一键发送多个客户。那么企业微信如何群发消息呢? 其中成员个人支持群发消息到客户群,企业也可以创建内容提醒成员进行执行群发。 管理员支持在管理端或在手机端创建企业…...

【信号与系统笔记】第一章 绪论

1.1信号传输系统 信息传输的任务 将带有信息的信号,通过某种系统由发送者传送给接收者。 通信系统的组成 转换器:把消息转换为电信号或者把电信号还原成消息信道:信号传输的通道,广义上来说。发射机和接收机也可以是信道的一部分…...

[神经网络]DETR目标检测网络

一、概述 相较于传统目标检测,DETR是一种纯端到端的网络。它不再需要NMS(非极大值抑制,用于去除多余的预测框)和生成anchor。 DETR提出了一个新的目标函数(二分图匹配),这个函数可以强制网络输出一个独一无二的预测值&…...

【服务器管理】connection refused问题解决

简述 在配置服务器的时候,遇到了这个问题。我当时明明已经搭建好了服务,但是我在客户端比如手机上,却怎么都连不上服务器。看日志的话显示的是connection refuesed timeout 这种情况,大概率是服务器的端口没有被打开。 我们只需…...

2023_华为OD机试真题_Python_047_整理扑克牌

整理扑克牌 题目描述 给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1. 对扑克牌进行分组,形成组合牌,规则如下: 当牌面数字相同张数大于等于4时,组合牌为“炸弹”;3张相同牌面数字 + 2张相同牌面数字,且3张牌与2…...

吐血整理,自动化测试pytest测试框架,资深测试带你少走弯路......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 Pytest框架详解 py…...

SAP BASE64加密及解密

简介:BASE64是一种编码方法,它是一种基于用64个可打印字符来表示二进制数据的表示方法,主要应用于数据存储,传输,打印它是用64个可打印字符表示二进制所有数据方法。由于2的6次方等于64,所以可以用每6个位元…...

【页面无响应】Web页面经常无响应前端如何定位与优化(已解決)

【写在前面】客户现场应用我们的系统时候,发现用着用着就出现1个页面无响应现象,给客户带来极其不好的体验,尤其是当重要工作汇报演示时,就给我看无响应,浏览器崩溃?这样对产品的发展无疑是致命的伤&#x…...

隐私计算 FATE - 多分类神经网络算法测试

​ 一、说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练,并使用该模型对数据进行 多分类预测。 二分类算法:是指待预测的 label 标签的取值只有两种;直白来讲就是每个实例的可能类别只有两种 (0 或者 1)…...

Codeforces Round 853 (Div. 2)

Codeforces Round 853 (Div. 2) C. Serval and Toxels Arrays 思路: 求任意两个组合的元素个数。 注意到,其实每个元素都是独立的。他在任意组合的出现情况组成的贡献是可以分开讨论的。我们讨论元素x。假设x在m1个数组中出现了cnt次(一个…...

Ka频段需要更多带宽?

随着全球连接需求的增长,许多卫星通信(satcom)系统日益采用Ka频段,对数据速率的要求也水涨船高。目前,高性能信号链已经能支持数千兆瞬时带宽,一个系统中可能有成百上千个收发器,超高吞吐量数据速率已经成为现实。 另…...

初学pyinstaller打包过程中的一些问题

记录一下使用pyinstaller打包过程中的一些问题: 不安装虚拟环境打包,直接打包,一般不会出现什么问题,但是打包的exe很大,把所有模块和依赖库也一起打包了。 建议使用虚拟环境打包,安装必要的包&#xff0…...

第七章:Java常用类

第七章:Java常用类 7.1:字符串相关的类 String的特性 String表示是字符串,使用一对""引起来表示。 String声明为final的,不可被继承。 String实现了Serializable、Comparable接口,表示字符是支持序列化和…...

Apk加固后多渠道打包

之前一直使用360加固宝进行apk的加固打包,可以一键加固并打多渠道打包。但是,现在360加固宝收费了,在进行加固,多渠道打包,就得一步一步自己操作了,会很繁琐。所以,本文使用 360加固美团Wallet …...

K8S + ISTIO 金丝雀部署的例子

金丝雀发布(Canary):也是一种发布策略,和国内常说的灰度发布是同一类策略。蓝绿部署是准备两套系统,在两套系统之间进行切换,金丝雀策略是只有一套系统,逐渐替换这套系统。 Istio 提供一种简单的…...

python自带数据的模型合集

鸢尾花----聚类 Python鸢尾花数据集通常用于分类问题, 这些模型都可以通过Python中的Scikit-learn库进行实现。同时,也可以对这些模型进行参数调优以提高模型的准确性。 Logistic Regression(逻辑回归): 逻辑回归是一…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

基于小程序老人监护管理系统源码数据库文档

摘 要 近年来&#xff0c;随着我国人口老龄化问题日益严重&#xff0c;独居和居住养老机构的的老年人数量越来越多。而随着老年人数量的逐步增长&#xff0c;随之而来的是日益突出的老年人问题&#xff0c;尤其是老年人的健康问题&#xff0c;尤其是老年人产生健康问题后&…...

RocketMQ 客户端负载均衡机制详解及最佳实践

延伸阅读&#xff1a;&#x1f50d;「RocketMQ 中文社区」 持续更新源码解析/最佳实践&#xff0c;提供 RocketMQ 专家 AI 答疑服务 前言 本文介绍 RocketMQ 负载均衡机制&#xff0c;主要涉及负载均衡发生的时机、客户端负载均衡对消费的影响&#xff08;消息堆积/消费毛刺等…...

DOM(文档对象模型)深度解析

DOM(文档对象模型)深度解析 DOM 是 HTML/XML 文档的树形结构表示,提供了一套让 JavaScript 动态操作网页内容、结构和样式的接口。 一、DOM 核心概念 1. 节点(Node)类型 类型值说明示例ELEMENT_NODE1元素节点<div>, <p>TEXT_NODE3文本节点元素内的文字COMMEN…...