1、了解keytool
1.1、什么是keytool
keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,在JDK 1.4以后的版本中都包含了这一工具,所以不用再上网去找keytool的安装,电脑如果安装有JDK1.4及以上,就可以直接使用。
1.2、如何使用keytool
要注意一点的是它的使用,不能直接双击打开(双击打开的话,会一闪而过),它的页面就是一个黑框,需要使用CMD访问进行使用。
例如:我的JDK安装在原始目录下,使用CMD访问到JDK的bin目录,可以输入keytool查看一下命令
2、使用keytool时的注意事项
2.1、要明确签名证书是在那一个JDK版本下制作的
例如:你的证书是在JDK1.8的环境制作的,但是你却在JDK1.7的环境下去转换格式,是会报故障的,所以JDK的环境也是很重要的
2.2、要明确密钥库口令与源密钥库口令
- keystore:制定KeyStore的名称
- storepass:制定KeyStore的密码
不明确这两个参数的值是无法转换签名证书格式的
3、开始使用keytool转换签名证书的文件格式
3.1、签名文件 .keystore转换 .jks
主要使用的命令为:
1、输入命令 首先转换成pkcs12
keytool -importkeystore -srckeystore 绝对路径+文件名称格式 -destkeystore 输出目录+文件名称格式 -deststoretype pkcs12
例如:
keytool -importkeystore -srckeystore D:\测试证书\testkeyStore.keystore -destkeystore D:\测试证书\test.p12 -deststoretype pkcs12
执行完后会发现在输出目录下多出一个P12文件
2、将转换完成的pkcs12继续使用命令转为为 jks文件
keytool -v -importkeystore -srckeystore 绝对路径+文件名称格式 -srcstoretype PKCS12 -destkeystore 文件输出目录格式为.jks -deststoretype JKS
例如:
keytool -v -importkeystore -srckeystore D:\测试证书\test.p12 -srcstoretype PKCS12 -destkeystore D:\测试证书\testTwo.jks -deststoretype JKS
执行完后会发现在输出目录下已经将 .keystore转换为 .jks了
3.2、签名文件 .jks 转换 .keystore
jsk转keystore的方式主要有俩种 ,可一次性转换成功,也可以先转换为 .p12文件再转为.jks
3.2.1、第一种转换方式
第一种是一次性转换成功的方式
keytool -importkeystore -srckeystore [jks_Paht_Nmae(jks具体地址 - 包含文件名)] -srcstoretype JKS -deststoretype PKCS12 -destkeystore [keystore_Paht_Nmae(keystore具体地址 - 包含文件名)]
例如:
keytool -importkeystore -srckeystore D:\测试证书\testJks.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore D:\测试证书\test.keystore
可以发现输出目录下已经存在刚才转换的.keystore文件了
3.2.2、第二种转换方式
keytool -importkeystore -srckeystore 【.jks文件路径】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【.p12文件路径】
例如:
keytool -importkeystore -srckeystore D:\测试证书\testJks.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore D:\测试证书\testJks.p12
这时文件中已经多出了一个 p12的文件
接着进行下一步,将刚才转换的.p12文件转换为.keystore文件
keytool -v -importkeystore -srckeystore 【.p12文件路径】 -srcstoretype PKCS12 -destkeystore 【.keystore文件路径】 -deststoretype JKS
例如
keytool -v -importkeystore -srckeystore D:\测试证书\testJks.p12 -srcstoretype PKCS12 -destkeystore D:\测试证书\test.keystore -deststoretype JKS
.
这时已经转换成功了