证书拓展域(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 讲中介绍过线程是不能够重复启动的,创建或销毁线程存在一定的开销,所以利用线程池技术来提高系统资源利用效率,并简化线程管理,…...
企业微信如何群发消息到客户群?
为提升工作效率,工作中,企业常常会借助企业微信的群发功能一键发送多个客户。那么企业微信如何群发消息呢? 其中成员个人支持群发消息到客户群,企业也可以创建内容提醒成员进行执行群发。 管理员支持在管理端或在手机端创建企业…...
【信号与系统笔记】第一章 绪论
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很大,把所有模块和依赖库也一起打包了。 建议使用虚拟环境打包,安装必要的包࿰…...
第七章: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(逻辑回归): 逻辑回归是一…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
