Keytool是一个Java数据证书的管理工具 , 在keystore里,包含两种数据:
keytool常用命令:
keytool -genkeypair -alias serverkey -keyalg RSA -keysize 2048 -validity 3650 -keystore CATest.keystore
说明: storepass keystore 文件存储密码,不加这个参数会在后面要求你输入密码 keypass 私钥加解密密码 alias 实体别名(包括证书私钥) dname 证书个人信息 keyalg 采用公钥算法,默认是DSA,这里采用RSA keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA) validity 有效期 keystore 指定keystore文件储存位置
设置密钥口令,及证书信息,输入Y确定,生成证书
查看证书信息:
keytool -v -list -keystore CATest.keystore
导出为cer公钥证书:
keytool -exportcert -keystore CATest.keystore -file CATest.cer -alias serverkey
如果要导出crt的话,只需要改后缀即可(下面的证书也是同理):
keytool -exportcert -keystore CATest.keystore -file CATest.crt -alias serverkey
与keystore证书同理 生成JKS证书:
keytool -genkey -alias testClient -keyalg RSA -keysize 1024 -keystore CATest.jks -validity 365
查看证书信息:
keytool -list -v -keystore CATest.jks
导出为cer文件证书:
keytool -alias testClient -exportcert -keystore CATest.jks -file CATest.cer
keytool -genkey -v -alias testClient -keyalg RSA -storetype PKCS12 -keystore CATest.p12
查看证书信息:
keytool -list -v -keystore CATest.p12
导出为cer文件证书:
keytool -export -alias testClient -keystore CATest.p12 -storetype PKCS12 -storepass 密钥口令 -rfc -file CATest.cer
将公钥证书导出密钥库: 将cer公钥证书转为keystore证书
keytool -import -v -file CATest.cer -keystore CATest2.keystore
将keystore转为p12:
keytool -importkeystore -srckeystore CATest.keystore -destkeystore CATest2.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -noprompt