下面个将介绍怎样利用 jdk keytool 生成自签名证书,然后使用 JKS2PFX 工具将证书转换成 pem 格式。详细步骤如下:
(1)先试用 jdk 自带的 keytool 工具生成证书,如下:
C:\Users\Administrator\Desktop\jks2pfx>keytool -genkey -v -alias electric -keyalg RSA -keystore d:\local.keystore -validity 36500 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: hxstrive 您的组织单位名称是什么? [Unknown]: www.hxstrive.com 您的组织名称是什么? [Unknown]: 人人编程网 您所在的城市或区域名称是什么? [Unknown]: chengdu 您所在的省/市/自治区名称是什么? [Unknown]: sichuan 该单位的双字母国家/地区代码是什么? [Unknown]: cn CN=electric, OU=yongdianxm.myfirewall.co, O=人人编程网, L=chengdu, ST=sichuan, C=cn是否正确? [否]: y 正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 36,500 天): CN=hxstrive, OU=www.hxstrive.com, O=人人编程网, L=chengdu, ST=sichuan, C=cn 输入 <electric> 的密钥口令 (如果和密钥库口令相同, 按回车): [正在存储d:\local.keystore] Warning: JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore d:\local.keystore -destkeystore d:\local.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS1
(2)使用 keytool 将上面生成的证书转换成 PKCS12 格式的证书。如下:
C:\Users\Administrator\Desktop\jks2pfx>keytool -importkeystore -srckeystore d:\local.keystore -destkeystore d:\local.keystore -deststoretype pkcs12 输入源密钥库口令: 已成功导入别名 electric 的条目。 已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消 Warning: 已将 "d:\local.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "d:\local.keystore.old" 进行了备份。
(3)使用 JKS2PFX 工具将上面的证书转换成 PEM 格式证书(JKS2PFX 工具下载见附件)。如下:
C:\Users\Administrator\Desktop\jks2pfx>JKS2PFX.bat .\tmp\local.keystore 123456 electric exportfile .\tmp\ Generating new PFX Key/Certificate pair, please enter a password Loading 'screen' into random state - done Enter Export Password: Verifying - Enter Export Password: Created new PEM key : exportfile.key (without password) Created new PEM cert : exportfile.crt Created new PFX file : exportfile.pfx (with password) C:\Users\Administrator\Desktop\jks2pfx>
执行成功后,将在当前目录下面创建 exportfile.key、exportfile.crt 和 exportfile.pfx 三个文件。
非常感谢,找 jks2pfx 工具找了好久了
谢谢支持!