今天,有朋友在配置Tomcat SSL的時(shí)候,出現(xiàn)如下的異常:
java.security.UnrecoverableKeyException: Cannot recover key
而且他已經(jīng)正確配置了keystoreFile和keystorePass。
后來我發(fā)現(xiàn),他對(duì)Keystore中的Key使用了Password保護(hù),而且
保護(hù)這個(gè)KeyEntry的KeyPass!=KeyStore的Keypass,導(dǎo)致出錯(cuò),
Tomcat SSL要求這兩個(gè)密碼必須相等。
解決辦法:
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的。