Atitti.数字证书体系cer pfx attilax总结

一、数字证书常见标准 1

数字证书文件格式(cer和pfx)的区别: 1

二、数字证书存储内容 2

X.509是一种非常通用的证书格式。 2

详细特征 2

X.509证书格式 3

一、数字证书常见标准

数字证书体现为一个或一系列相关经过加密的数据文件。常见格式有:

  • 符合PKI ITU-T X509标准,传统标准(.DER .PEM .CER .CRT)
  • 符合PKCS#7 加密消息语法标准(.P7B .P7C .SPC .P7R)
  • 符合PKCS#10 证书请求标准(.p10)
  • 符合PKCS#12 个人信息交换标准(.pfx *.p12)

当然,这只是常用的几种标准,其中,X509证书还分两种编码形式:

  • X.509 DER(Distinguished Encoding Rules)编码,后缀为: .DER .CER .CRT
  • X.509 BASE64编码,后缀为: .PEM .CER .CRT

X509是数字证书的基本规范,而P7和P12则是两个实现规范,P7用于数字信封,P12则是带有私钥的证书实现规范

数字证书文件格式(cer和pfx)的区别:

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

Windows下常见两种证书,后缀为.cer的通常存放公钥,后缀为.pfx的通常存放私钥。有时候想看一下其中内容到底是什么,又不想写程序,这个时候OpenSSL的命令行工具就很有用了。

.cer格式比较好处理,它就是一个x509证书,openssl直接可以处理,只需要执行

二、数字证书存储内容

采用的标准不同,生成的数字证书,包含内容也可能不同。

下面就证书包含/可能包含的内容做个汇总,一般证书特性有:

  • 存储格式:二进制还是ASCII
  • 是否包含公钥、私钥
  • 包含一个还是多个证书
  • 是否支持密码保护(针对当前证书)

其中:

  • *.der/*.cer/*.crt 以二进制形式存放证书,只有公钥,不包含私钥。
  • *.csr 证书请求
  • *.pem 以Base64编码形式存放证书,以"-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"封装,只有公钥。
  • *.pfx/*.p12也是以二进制形式存放证书,包含公钥、私钥,包含保护密码。pfx和p12存储格式完全相同只是扩展名不同。
  • *.p10 证书请求
  • *.p7r CA对证书请求回复,一般做数字信封
  • *.p7b/*.p7c 证书链,可包含一个或多个证书。

理解关键点:

  • 凡是包含私钥的,一律必须添加密码保护(加密私钥),因为按照习惯,公钥是可以公开的,私钥必须保护,所以明码证书以及未加保护的证书都不可能包含私钥,只有公钥,不用加密。
  • 上文描述中,*.der均表示证书且有签名,实际使用中,还有DER编码的私钥不用签名,实际上只是个“中间件”。

X.509是一种非常通用的证书格式。

所有的证书都符合ITU-T X.509国际标准,因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。

详细特征

编辑

所有的X.509证书包含以下数据: 1、X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3。

2、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。

3、证书的序列号:由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。

4、主题信息:证书持有人唯一的标识符(或称DN-distinguished name)这个名字在 Internet上应该是唯一的。DN由许多部分组成,看起来象这样:

CN=Bob Allen, OU=Total Network Security Division

O=Network Associates, Inc.

C=US

这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。

5、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。

6、认证机构:证书发布者,是签发该证书的实体唯一的CA的X.509名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)

7、发布者的数字签名:这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。

8、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。

X.509证书格式

为了利用公共密钥这种密码系统,必须将公共密钥分发出去。最通用的一种签名证书格式被称为X.509格式

Ref参考资料

Byekle

X509证书 - wyxhd2008的专栏 - 博客频道 - CSDN.NET.html

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:[email protected]

转载请注明来源: http://blog.cnb.net/attilax

Atiend

时间: 2024-11-15 12:02:12

Atitti.数字证书体系cer pfx attilax总结的相关文章

区块链中的密码学之数字证书体系(十四)

1. 前言 数字证书用来证明某个公钥是谁的,并且内容是正确的. 对于非对称加密算法和数字签名来说,很重要的一点就是公钥的分发.一旦公钥被人替换( 典型的如中间人攻击) ,则整个安全体系将被破坏掉. 怎么确保一个公钥确实是某个人的原始公钥?这就需要数字证书机制. 顾名思义,数字证书就是像一个证书一样,证明信息的合法性.由证书认证机构( Certification Authority,CA) 来签发,权威的 CA 包括 verisign 等. 数字证书内容可能包括版本.序列号.签名算法类型.签发者信

常见的数字证书格式与格式转换

常见的数字证书格式 CER后缀的证书文件有两种编码:第一种是DER二进制编码,第二种是:ASE64编码(也就是.pem)  p7b一般是证书链,里面包括1个到多个证书  pfx是指以pkcs#12格式存储证书的公钥和相应私钥. 在Security编程中,有几种典型的密码交换信息文件格式:  DER-encoded certificate: .cer, .crt  PEM-encoded message: .pem  PKCS#12 Personal Information Exchange: .

Java 生成数字证书系列(一)了解数字证书

序 最近的工作一直围绕着数字证书,对于 CA 证书的了解还是多少有一点的,只不过没有那么深入,现在要用到这方面的东西,显然还是有点欠缺,那么从这篇开始,我就将我自己的学习.工作历程跟大家一同分享,希望对想了解 CA 证书的童鞋有所帮助吧. 很显然,这篇文章大部分都是理论介绍,后续会有相关的一些实例.不喜欢看理论的童鞋,可以直接略过此章,直接看后续的文章. 概要 这篇文章,我主要是想谈一下 CA 证书的工作原理,数字签名,证书格式等几个比较重要的概念.因为在后续的文章中,都会用到这几个概念,而且,

如何用JAVA代码签发数字证书

用JAVA签发数字证书 打开cmd 1.输入D: 2.输入cd keys 3.输入命令查看创建的密钥库的证书列表 keytool -list -v -keystore mykey.keystore -storepass 123456 4. 之前导出过server.cer文件,把这个文件安装到操作系统,过程默认. 5.创建一个密钥对,和之前一样,输入如下命令: --创建密钥对 keytool -genkey -dname "CN=tmp, OU=NC, O=Shanghai University,

[转载] 创建为ClickOnce清单签名的.pfx格式数字证书

使用vs2013自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”.“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书. 打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作: 1.创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下: makecert -r -n "CN= sndnvaps " -b 08/31/2015 -e 08/31/2030

C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密

本文源程序下载:http://download.csdn.net/source/2444494 我的项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解密.为了完成这个安全模块,特写了如下一个DEMO程序,该DEMO程序包含的功能有: 1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区: 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password: 3:读取pfx文件,导出pfx中公钥和私钥:

使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

本文全部源代码下载:/Files/chnking/EncryptLongData.rar 一.  使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实际测试,明文最多为117字节,留下的空间用来填充随机数”.也就是说对于1024位密钥的RSA来说,一次只能加密128字节的数据,对于Dotnet的RSA实现更是只能加密117个字节的数据. 这就引出一个问题,超

数字证书常见格式与协议介绍

引:http://blog.csdn.net/anxuegang/article/details/6157927 证书主要的文件类型和协议有: PEM.DER.PFX.JKS.KDB.CER.KEY.CSR.CRT.CRL .OCSP.SCEP等. PEM – Openssl使用 PEM(Privacy Enhanced Mail)格式来存放各种信息,它是 openssl 默认采用的信息存放方式.Openssl 中的 PEM 文件一般包含如下信息: 内容类型:表明本文件存放的是什么信息内容,它的

(二)数字证书和数字时间戳

一.证书 概要 证书是一个[经证书认证中心数字签名的]包含[公开密钥拥有者信息以及公开密钥的文件].证书格式及证书内容遵循X.509标准. 从证书的用途来看,数字证书分为签名证书和加密证书. a)         签名证书主要用于对用户信息进行签名,以保证信息的不可否认性(身份认证): b)         加密证书主要用于对用户传送信息进行加密,以保证信息的真实性和完整性(传输加密). 目前最安全的数字证书是由第三方 CA 机构(比如 GlobalSign)认证的数字证书,数字证书保存在[经国