数字证书的证书格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字证书的证书格式相关的知识,希望对你有一定的参考价值。

数字证书的格式普遍采用的是 X.509 V3 国际标准,一个标准的 X.509 数字证书包含以下一些内容:

1、证书的版本信息;

2、证书的序列号,每个证书都有一个唯一的证书序列号;

3、证书所使用的签名算法;

4、证书的发行机构名称,命名规则一般采用X.500格式;

5、证书的有效期,通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;

6、证书所有人的名称 (Subject),命名规则一般采用X.500格式;

7、证书所有人的公钥;

8、证书发行者 (Issuer) 对证书的签名。

扩展资料

数字证书主要具以下三方面特征:

第一,安全性。

用户申请证书时会有两份不同证书,分别用于工作电脑以及用于验证用户的信息交互,若所使用电脑不同,用户就需重新获取用于验证用户所使用电脑的证书,而无法进行备份,这样即使他人窃取了证书,也无法获取用户的账户信息,保障了账户信息。

第二,唯一性。

数字证书依用户身份不同给予其相应的访问权限,若换电脑进行账户登录,而用户无证书备份,其是无法实施操作的,只能查看账户信息。

第三,便利性。

用户可即时申请、开通并使用数字证书,且可依用户需求选择相应的数字证书保障技术。用户不需要掌握加密技术或原理,就能够直接通过数字证书来进行安全防护,十分便捷高效。

参考技术A

数字证书的格式普遍采用的是X.509V3国际标准,一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;  证书的序列号,每个证书都有一个唯一的证书序列号;  证书所使用的签名算法;  证书的发行机构名称,命名规则一般采用X.500格式;  证书的有效期,通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;  证书所有人的名称,命名规则一般采用X.500格式;  证书所有人的公开密钥;  证书发行者对证书的签名。
依据《电子认证服务管理办法》《中华人民共和国电子签名法》,目前国内有30家机构获得相关资质,具体资质可以查询工业信息化部网站。
数字证书文件格式(cer和pfx)的区别:
作为文件形式存在的证书一般有这几种格式:
1.带有私钥的证书由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
2.二进制编码的证书 证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。
3.Base64编码的证书证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。
由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。
在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。
如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。
如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密。

数字证书

数字证书的文件格式

(cer和pfx) 的区别

1.带有私钥的证书由Public key Cryptography#12, PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式, 以pfx作为作为文件后缀名

2. 二进制编码的证书,证书中没有私钥,DER编码二进制格式的证书文件,以cer作为证书文件后缀名。

3..Base64编码的证书证书中没有私钥,BASE64编码格式的证书文件,也是以cer作为证书文件后缀名。

cer/crt 是用于存放证书,它是以二进制形式存放的,不含私钥

pem 跟crt/cer 区别是,它是以AscII码来表示.

pfx/p12 用于存放个人证书私钥,他通常包含保护密码,二进制方式

p10 是证书请求

p7r 是CA对证书请求的回复,只用于导入

p7b 以树状展示证书链,同时也支持单个证书,不含私钥。

证书管理工具:

Java 自带的 keytool

在JDK1.4以后都包含了这一工具

1.创建证书

keytool -genkeypair  -alias "test1" -keyalg "RSA"  --keystore  "test.keystore"

创建了一个别名为test1的证书条目,该条目存放在名为 test.keystore 的密钥库中,若test.keystore 密钥库不存在则创建.

参数说明;

  -genkeypair:生成一对非对称密钥;

       -alias:指定密钥对的别名,该别名是公开的;

       -keyalg:指定加密算法,本例中采用通用的RAS加密算法;

      -keystore 密钥库的路劲及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件

注意: 名字和姓氏应该是域名,而不是姓名

2. 查看证书

 keytool  --list -keystore  test.keystore

3. 导出到证书文件

keytool -export -alias test1  -file test.crt -keystore test.keystore

将名为test.keystore 的证书库中别名为test1d的证书条目导出到证书文件test.crt 中

4.导入证书的信息

keytool -import -keystore test_cacerts -file test.crt

将证书文件test.crt 导入到名为 test_cacerts 的证书库中

5.查看证书信息

keytool -printcert -file "test.crt"

查看证书文件test.crt 的信息

6. 删除密钥库中的条目

keytool -delete -keystore test.keystore -alias test1

7.修改证书条目的口令

keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore test.keystore

将密钥库test.keystore 中别名为test1的证书条目的密码修改为testtest1

keytool -keypasswd -alias test1  -keystore  test.keystore(交互式修改)

 

 

删除密钥库test.keystore中别名为test1的证书条目

 

 

 

 

 

 

 

 

 

openssl

 

以上是关于数字证书的证书格式的主要内容,如果未能解决你的问题,请参考以下文章

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

证书格式转换

各种证书格式

DER、CRT、CER、PEM证书格式介绍及转换方法

x509证书格式

证书私钥不能导出pfx格式,只能cer等格式