下面个将介绍怎样利用 jdk keytool 生成自签名证书,然后使用 JKS2PFX 工具将证书转换成 pem 格式。详细步骤如下:
(1)先试用 jdk 自带的 keytool 工具生成证书,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
C:UsersAdministratorDesktopjks2pfx>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 格式的证书。如下:
1
2
3
4
5
6
7
|
C:UsersAdministratorDesktopjks2pfx>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 工具下载见附件)。如下:
1
2
3
4
5
6
7
8
9
10
|
C:UsersAdministratorDesktopjks2pfx>JKS2PFX.bat . mp local .keystore 123456 electric exportfile . mp
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:UsersAdministratorDesktopjks2pfx>
|
执行成功后,将在当前目录下面创建 exportfile.key、exportfile.crt 和 exportfile.pfx 三个文件。
「资源下载」
jks2pfx.rar