今天,有朋友在配置Tomcat SSL的时候,出现如下的异常:
java.security.UnrecoverableKeyException: Cannot recover key
而且他已经正确配置了keystoreFile和keystorePass。
后来我发现,他对Keystore中的Key使用了Password保护,而且
保护这个KeyEntry的KeyPass!=KeyStore的Keypass,导致出错,
Tomcat SSL要求这两个密码必须相等。
解决办法:
keytool -keypasswd -v -alias mykeyalias -keypass noequalpass -new equalpass -keystore mykeystore.jks -storepass equalpass
其中, mykeyalias是key在keystore中的别名,-keypass后面跟key的旧密码"noequalpass", -new 是新密码"equalpass",注意新密码跟storepass一致。
附:Weblogic是支持不一致的KeystorePass和KeyPass的。