生成jks
命令:
keytool -genkeypair -alias myAlias -keyalg RSA -keypass myKeyPass -keystore myKeystore.jks -storepass myStorePass -storetype jks
myAlias: 密钥对的别名
myKeyPass: 私玥保护口令
myKeystore.jks: Keystore 文件名
myStorePass: keystore保护口令
storetype: 证书库类型
例如:
keytool -genkeypair -alias uc -keyalg RSA -keypass ucpass -keystore uc.jks -storepass ucstorepass -storetype jks
导入证书到制定的证书库
keytool -import -alias aliasName -keystore keystorePath -file certPath
aliasName:证书别名
keystorePath: keystore路径
certPath: 证书路径
通过别名查询证书库中是否存在证书
keytool -list -keystore keystorePath -alias aliasName
aliasName:证书别名
keystorePath: keystore路径
certPath: 证书路径
从JKS中导出证书
keytool -list -v -keystore jksName.jks
keytool -export -alias aliasName -keystore jksName.jks -storepass 密钥库口令 -file certName.cer
解决unable to find valid certification path to requested target
java调用https请求如果网站的跟证书不存在于jre的默认证书库中,会出现上述异常
解决方法可以将网站的证书导入到jre的证书库中
导入方法:
进入到jre security目录下
例如:mac下
cd /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/security导入到cacerts
keytool -import -alias abc -keystore cacerts -file D://abc.cer