一、导出证书
在 IE 浏览器中
点击导出后下一步
选择1,3
输入私钥的保护密码(此密码为使用或导出私钥时使用);
之后选择路径后保存即可
二、PFX和CER证书
Pfx证书,同时包含了公钥信息和私钥信息(用私钥加密进行签名证明是本人签名,用公钥解密对签名进行进行验证,证明签名的合法性)
PFX也称为PKCS#12(Public Key Cryptography Standards #12,公钥密码技术标准#12),包含KEY文件(RSA PRIVATE KEY,RSA私钥) + CRT文件(CERTIFICATE,证书)。常见的扩展名是: .pfx 和 .p12
Cer证书只包含公钥信息
如果客户端与网站通信时需要用到私钥(基本所有需要数字证书的网站都会用到私钥),则cer证书是无法正常访问网站的,网站会提示“该页要求客户证书”
由于cer证书只包含公钥信息,一般只能用于解密使用(解密该公钥对应的私钥加密的数据)。
Pfx证书既可以导出为pfx证书,也可以导出为cer证书。
Pfx证书导出时,会提示是否导出私钥,导出私钥即pfx证书,不导出则是cer证书。
如果选择导出私钥,出于安全性考虑,浏览器会提示你指定一个密码用于保护该私钥,日后再次导入该pfx证书时,浏览器会要求你提供该私钥保护密码。
导入pfx证书时,需要指定私钥保护密码,另外还有一个选项“标志此密钥为可导出密钥。这将允许您稍后备份或传输密钥”,出于安全性考虑,该选项默认是不勾选的,如果不勾选,下次从浏览器导出该证书时,则无法导出pfx格式了,只能导出不包含私钥的cer格式了。
Pfx证书导入时,如果未勾选“密钥可导出”,则下次导出时,由于无法导出私钥,只能导出cer证书了。
Cer证书不能导出为pfx证书。
其他证书类型
.DER:用二进制DER编码的证书;
.PEM:用ASCLL(BASE64)编码的证书;
.CER:存放公钥,没有私钥;
.PFX:存放公钥和私钥(pem 后缀的证书都是base64编码;der 后缀的证书都是二进制格式;crt .cer 后缀的文件都是证书文件(编码方式不一定,有可能是.pem,也有可能是.der);
.pfx 主要用于windows平台,浏览器可以使用,也是包含证书和私钥,获取私钥需要密码才可以)
三、证书导入 JDK
1、导入
JDK 默认证书存储文件路径 \jdk1.8.0_121\jre\lib\security\cacerts
keytool -import -alias cer_mob -keystore cacerts -file D://cer_mob.cer
-alias 指定别名(推荐和证书同名)
-keystore 指定存储文件(此处固定)
-file 指定证书文件全路径(证书文件所在的目录)
注意:当切换到 cacerts 文件所在的目录时,才可指定 -keystore cacerts, 否则应该指定全路径;
库密钥口令输入:changeit
确认:Y
如果证书存储文件不存在,则会自动创建;如果存在,则添加到信任库中
如果异常:keytool’ 不是内部或外部命令,也不是可运行的程序 或批处理文件
就需要配置JDK的环境变量,然后重启CMD
2、查看证书列表
keytool -list -keystore cacerts
3、删除原证书,导入新证书
keytool -delete -alias cer_mob -keystore cacerts
keytool -import -alias cer_mob -file /路径/cer_mob.cer -keystore cacerts -trustcacerts
4、查看某一个证书 (cer_mob)
keytool -list -keystore cacerts -alias cer_mob
库密钥口令输入:changeit