今天,有朋友在配置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的。