【发布时间】:2014-09-04 04:36:52
【问题描述】:
在 OSX Mavericks、OpenAM 10.1.0、Tomcat8 和 JDK8 的组合中, OpenAM 初始 GUI 配置不成功,导致错误:
[点击] [错误] handleException: java.lang.RuntimeException: 调用公共方法时出错:public boolean com.sun.identity.config.wizard.Wizard.createConfig() 在 org.apache.click.util.ClickUtils.invokeMethod(ClickUtils.java:3335) 在 org.apache.click.util.ClickUtils.invokeListener(ClickUtils.java:2088) 在 org.apache.click.control.AbstractControl$1.onAction(AbstractControl.java:228) 在 org.apache.click.ActionEventDispatcher.fireActionEvent(ActionEventDispatcher.java:259) 在 org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:236) 在 org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:180) 在 org.apache.click.ClickServlet.performOnProcess(ClickServlet.java:746) 在 org.apache.click.ClickServlet.processAjaxPageEvents(ClickServlet.java:1860) 在 org.apache.click.ClickServlet.processPage(ClickServlet.java:559) 在 org.apache.click.ClickServlet.handleRequest(ClickServlet.java:383) 在 org.apache.click.ClickServlet.doGet(ClickServlet.java:276) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:99) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(Thread.java:745) 原因:java.lang.ExceptionInInitializerError:在此 JVM 中找不到安全类,原因如下:sun.security.x509.CertAndKeyGen 在 org.opends.server.util.Platform$PlatformIMPL.(Platform.java:127) 在 org.opends.server.util.Platform.(Platform.java:80) 在 org.opends.server.util.CertificateManager.generateSelfSignedCertificate(CertificateManager.java:283) 在 org.opends.server.admin.AdministrationConnector.createSelfSignedCertifIfNeeded(AdministrationConnector.java:698) 在 org.opends.server.admin.AdministrationConnector.initializeAdministrationConnector(AdministrationConnector.java:181) 在 org.opends.server.core.ConnectionHandlerConfigManager.initializeAdministrationConnectorConfig(ConnectionHandlerConfigManager.java:350) 在 org.opends.server.core.DirectoryServer.initializeAdministrationConnector(DirectoryServer.java:2898) 在 org.opends.server.core.DirectoryServer.startServer(DirectoryServer.java:1401) 在 org.opends.server.util.EmbeddedUtils.startServer(EmbeddedUtils.java:88) 在 com.sun.identity.setup.EmbeddedOpenDS.startServer(EmbeddedOpenDS.java:545) 在 com.sun.identity.setup.EmbeddedOpenDS.setup(EmbeddedOpenDS.java:364) 在 com.sun.identity.setup.AMSetupServlet.setupEmbeddedDS(AMSetupServlet.java:813) 在 com.sun.identity.setup.AMSetupServlet.setupSMDatastore(AMSetupServlet.java:869) 在 com.sun.identity.setup.AMSetupServlet.configure(AMSetupServlet.java:945) 在 com.sun.identity.setup.AMSetupServlet.processRequest(AMSetupServlet.java:628) 在 com.sun.identity.config.wizard.Wizard.createConfig(Wizard.java:294) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:483) 在 org.apache.click.util.ClickUtils.invokeMethod(ClickUtils.java:3317) ... 30 更多
我也把JDK改成7或者Tomcat改成7,也没用。
由于以下原因,在此 JVM 中找不到安全类:sun.security.x509.CertAndKeyGen
我知道 JBoss 似乎已经修复了这个错误,但我不知道如何在我的环境下克服。
【问题讨论】:
标签: jvm single-sign-on x509 openam