X509数字证书格式
X509C
X.509 协议:V3/V4版证书(建议改进版记作X.509C)
3、签名算法OID* Signature Algorithm Identifier
7、申请者公钥信息 Subject Public Key Info
9、申请者唯一ID Unique ID of Subject
签名算法OID* Signature Algorithm Identifier
md2WithRSAEncryption = { 9, "\x2A\x86\x48\x86\xF7\x0D\x01\x01\x02"};
md5WithRSAEncryption = { 9, "\x2A\x86\x48\x86\xF7\x0D\x01\x01\x04"};
shaWithRSAEncryption = { 5, "\x2B\x0E\x03\x02\x0F"};
sha1WithRSAEncryption ={ 9, "\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05"};
dsaWithSHA ={ 5, "\x2B\x0E\x03\x02\x0D"};
dsaWithSHA1 ={ 7, "\x2A\x86\x48\xCE\x38\x04\x03"};
dsaWithSHA1_2 ={ 5, "\x2B\x0E\x03\x02\x1B"};
schWithRSAEncryption ={ 6, "\x2A\x56\x0B\x05x05\x03 "}; (1,2,86, 11,5,5,3)
schWithECCAEncryption ={ 6,"\x2A\x56\x0B\ x05\x05\x04"}; (1,2,86, 11,5,5,4)
D=HashOID+(Hash结果),对D进行DER编码,再采用PKCS1标准进行私钥加密即签名。HashOID目前有:
md2 ={ 8, "\x2A\x86\x48\x86\xF7\x0D\x02\x02"};
md5 ={ 8, "\x2A\x86\x48\x86\xF7\x0D\x02\x05"};
sha ={ 5, "\x2B\x0E\x03\x02\x12"};
sha1 ={ 5, "\x2B\x0E\x03\x02\x1A"};
申请增加:sch ={ 5, "\x2A\x56\x0B\ x05\x05"}; (1,2,86, 11,5,5)
-------------------------------------------------------
digitalSignature 0x8000 数字签名证书
dataEncipherment 0x1000 数据加密证书
权威密钥标识符(AuthorityKeyID) |
主体密钥标识符(SubjiectKeyID) |
密钥用法(KeyUsage) |
私有密钥使用周期(PrivateKeyUsagePeriod) |
证书策略(CertificatePolicies) |
策略映射(PolicyMappings) |
主体可替换名字(SubjectAlternativeName) 个人身份证号码 个人社会保险号 企业工商注册号 企业组织机构代码号 企业税号 |
发颁发者可替换名字(IssuerAlternativeName) |
主体目录属性(SubjectDirectoryAttributes) |
基本约束(BasicConstraints) |
名字约束(NameConstraints) |
策略约束扩大(PolicyConstraints) |
扩大密钥使用领域(ExtendedKeyUsage) |
CRL发布点(CRLDistributionPoints) |
其中“权威密钥标识符”即AuthorityKeyIdentifier为必选项,且其结构中的可选项keyIdentifier 、authorityCertSerialNumber为必选。
AuthorityKeyIdentifier ::= SEQUENCE {
keyIdentifier [0] KeyIdentifier OPTIONAL,
authorityCertIssuer [1] GeneralNames OPTIONAL,
authorityCertSerialNumber[2]CertificateSerialNumber OPTIONAL }
KeyIdentifier ::= OCTET STRING,由两种从公开密钥产生密钥标识符的通用方法如下:
A: keyIdentifier由BIT STRING subjectPublicKey的值的160位SHA1哈希值组成(排除标签,长度和不在使用的bits数目)。
B: keyIdentifier 4 bit类型字段值为0100以及随后的由BIT STRING subjectPublicKey的值SHA 1哈希的值中最后60 bits连接组成。
extnID OBJECT IDENTIFIER, //OID
critical BOOLEAN DEFAULT FALSE, //是否是关键项
另外,Netscape证书、SET证书还有LDAP的一些自定义扩展可以直接引
为适应安全EMAIL等SSL应用的证书链频繁下载需要,建议链文件在4K之内。把每100或200个证书放在一条链中,在每份证书中指明它所在的链名、URL。
版本号version |
签名算法标识signature |
颁发者名称issuer |
本次更新(日期/时间)thisUpdate |
下次更新(日期/时间)nextUpdate |
注销证书链 |
用户证书序列号 userCertificate |
注销日期revocationDate |
CRL条目扩展项crlEntryExtentions |
…… |
(CRL链长≤200个证书) |
CRL扩展域crlExtentions |
签名算法SignatureAlgorithm |
签名signatureValue |
X509数字证书格式相关推荐
- 数字证书格式详细说明【转】
数字证书格式 常见的数字证书格式 cer后缀的证书文件有两种编码 DER二进制编码 BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证 ...
- x509数字证书介绍
x509数字证书介绍 感谢:http://www.blogjava.net/kapok/archive/2005/09/29/14378.html 一.什么是数字证书 数字证书就是互联网通讯中标志通讯 ...
- X509数字证书学习
文章目录 1 背景 2 介绍 3 X509证书 3.1 证书组成结构 3.2 证书编码格式和扩展名 3.2.1 编码格式 3.2.2 扩展名 4 浏览器证书导出(示例) 4.1 查看证书详细信息 4. ...
- x509数字证书详解
数字证书 小明和小花进行通信,小花要在网络中验证发来消息的人到底是不是小明,是不是被其他人篡改,就需要数字证书来验证.CA机构先核实小明身份,再给小明颁发一个数字证书,证书中包含了小明的身份信息和公钥 ...
- 利用x509数字证书实现数据渗透
数据泄露可能是内部人员和黑客的主要目标.因此,你就需要思考如何发送这些数据. 大多数公司对这方面的问题几乎没有什么防护措施(例如,中间人代理和TLS拦截),检测通常也少的可怜--但有时,这可能是一个挑 ...
- openssl数字证书常见格式与协议介绍
原文地址:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.K ...
- 数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)
引言 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件.为现实网络安全化标准如今大部分的 B2B.B2C.P2P.O2O 等商业网站含有重要企业资料个人资料的信息资信网站 ...
- 数字证书在密改项目中的作用与应用实现
摘要: 本文从政策法规和技术标准方面,梳理了信息系统密码应用的必要性及要达到的目标,并重点从技术要求入手,说明数字证书在保障身份真实性.数据机密性.数据完整性.不可否认性方面的技术实现.希望能为密码应 ...
- 网络电话服务器安全认证管理系统,CA 数字证书认证系统建设解决方案
方案介绍 CA数字证书认证系统是信息系统安全基础设施,在企业内部建设CA数字证书认证系统后,签发的数字证书可作为业务系统用户的身份认证凭证,并能对关键交易进行签名,实现防抵赖和防篡改.同时制定统一的安 ...
- 数字证书与实现双向SSL认证
数字证书与实现双向SSL认证一:数字证书 什么是证书? 既然叫证书,肯定是用来证明什么东西的,比如身份,学历,能力等级.数字证书简单理解就是证明你在互联网中的身份.证书一般都需要有一个权威颁发机构,而 ...
最新文章
- MongoDB代码——Python篇
- 架构师速成6.6-知识的收集整理学习
- 新思路等级考二级c语言题答案,2017计算机二级C语言考试强化习题及答案
- android源码下载方式
- 834. Sum of Distances in Tree
- 转:IOS开发之----Xcode非ARC项目中设置部分文件ARC支持
- 打通钉钉+WebHook:日志服务告警升级
- 10kv电压互感器型号_电流互感器结构及原理
- luogu_1984 [SDOI2008]烧水问题
- .Net给图片添加水印效果
- SQL Server 2000中数据库质疑的恢复方法
- 简易python爬虫 - 爬取站长论坛信息
- Linux使文件变成二进制,linux 二进制文件显示方法
- mac php fpm.pid,php-fpm的常用配置和优化
- 快速画圆切线lisp_autolisp中画两圆公切线的程序怎么写?
- SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新
- 饱和气压与温度的关系_饱和水蒸汽的压力与温度的关系介绍
- R语言下载GEOquery包
- Android wms粗略介绍
- matlab使用hough变换函数进行车道检测