scourgen

13十二/090

解决ofbiz在MAC下出现Keystore密码错误的问题

报错信息:

2009-12-13 13:55:01,489 (main) [            SSLImpl.java:63 :ERROR]
---- exception report ----------------------------------------------------------
Exception: java.io.IOException
Message: Keystore was tampered with, or password was incorrect
---- cause ---------------------------------------------------------------------
Exception: java.security.UnrecoverableKeyException
Message: Password verification failed
---- stack trace ---------------------------------------------------------------
java.security.UnrecoverableKeyException: Password verification failed
sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)
sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
java.security.KeyStore.load(KeyStore.java:1185)
org.ofbiz.base.util.KeyStoreUtil.getSystemTrustStore(KeyStoreUtil.java:110)
org.ofbiz.base.util.SSLUtil.getTrustManagers(SSLUtil.java:106)
org.ofbiz.catalina.container.SSLImpl$AllowTrustManager.<init>(SSLImpl.java:61)
org.ofbiz.catalina.container.SSLImpl.<init>(SSLImpl.java:46)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
org.apache.tomcat.util.net.SSLImplementation.getInstance(SSLImplementation.java:75)
org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:152)
org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
org.ofbiz.catalina.container.CatalinaContainer.init(CatalinaContainer.java:218)
org.ofbiz.base.container.ContainerLoader.loadContainer(ContainerLoader.java:188)
org.ofbiz.base.container.ContainerLoader.load(ContainerLoader.java:65)
org.ofbiz.base.start.Start.initStartLoaders(Start.java:259)
org.ofbiz.base.start.Start.init(Start.java:96)
org.ofbiz.base.start.Start.main(Start.java:410)
--------------------------------------------------------------------------------

其实是因为在mac下,java 1.6的cacerts默认密码从以前的"changeit"变成了"changeme"

可以用如下办法恢复密码:

cd  #cd ~
#keytool -importkeystore -srckeystore /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/Deploy.bundle/Contents/Home/lib/security/cacerts -destkeystore newcacerts
Enter destination keystore password: changeit
Re-enter new password: changeit
Enter source keystore password:              #直接回车,留空
#sudo mv newcacerts /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/Deploy.bundle/Contents/Home/lib/security
#sudo mv cacerts oldcacerts
#sudo mv newcacerts cacerts

就ok啦

分类: Java 没有评论