数字证书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字证书相关的知识,希望对你有一定的参考价值。
数字证书的文件格式
(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
以上是关于数字证书的主要内容,如果未能解决你的问题,请参考以下文章