前一段时间因为需要别人给的p12格式的安全证书才能获取相关数据,但是p12格式的证书无法导入到jdk的证书库,但是又需要在Java项目中使用p12格式的证书,找了很久,最后在别人的帮助下找到方法。
因为p12格式的证书包含证书和私钥,不能直接导入jdk的证书库,转换成cer格式的证书能导入,但是导出的cer格式证书不含私钥,这样仍不能使用证书。所以我找到的方法是先将导出的cer格式的证书导入jdk证书库中,再在Java项目中写一个工具类导入p12格式的证书。
用keytool将p12的证书导入到jdk的证书库具体步骤如下:
1. 先将p12格式的证书导入浏览器。
P12格式的证书导入,双击p12格式的证书,按照导入向导完成导入。
2. 再从浏览器中导出cer格式的证书。
在Internet选项中选择内容->证书->导出
导出为cer格式选择不要导出私钥,下一步默认第一个—DER编码二进制 X.509(.CER)(D),依次下一步完成。
3. 将导出的cer格式证书导入到jdk的证书库cacerts中。
打开命令行窗口,输入:keytool –import –file cer格式证书路径 –keystore jdk证书库路径 –alias 导入的别名。