GKR 存储类型在 tomcat 中不起作用
我有一个用 GNU/JAVA 生成的密钥库,其存储类型是 GKR。 现在tomcat不支持GKR类型的密钥库。有没有办法在tomcat中朗姆酒GKR存储类型? 或者任何将 GKR 存储类型转换为 JKS 的方法。
以下是tomcat中遇到的异常:
INFO: Initializing Coyote HTTP/1.1 on http-80
Dec 14, 2011 10:25:40 AM org.apache.tomcat.util.net.jsse.JSSESocketFactory getStore
SEVERE: Failed to load keystore type gkr with path /usr/local/apache-tomcat-7.0.5/CSR/music543213_keystore due to gkr not found
java.security.KeyStoreException: gkr not found
at java.security.KeyStore.getInstance(KeyStore.java:587)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:371)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:283)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:533)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:464)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:131)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:384)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:118)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:873)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:555)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:729)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at org.apache.catalina.startup.Catalina.load(Catalina.java:571)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430)
Caused by: java.security.NoSuchAlgorithmException: gkr KeyStore not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:142)
at java.security.Security.getImpl(Security.java:659)
at java.security.KeyStore.getInstance(KeyStore.java:584)
... 21 more
Dec 14, 2011 10:25:40 AM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
I have a keystore generated with GNU/JAVA and its storetype is GKR.
Now the tomcat is not supporting GKR type keystore. Is there any way to rum GKR storetype in tomcat?
Or any way to convert GKR storetype to JKS.
Following is the exception encountered at tomcat:
INFO: Initializing Coyote HTTP/1.1 on http-80
Dec 14, 2011 10:25:40 AM org.apache.tomcat.util.net.jsse.JSSESocketFactory getStore
SEVERE: Failed to load keystore type gkr with path /usr/local/apache-tomcat-7.0.5/CSR/music543213_keystore due to gkr not found
java.security.KeyStoreException: gkr not found
at java.security.KeyStore.getInstance(KeyStore.java:587)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:371)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:283)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:533)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:464)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:131)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:384)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:118)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:873)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:555)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:729)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:100)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at org.apache.catalina.startup.Catalina.load(Catalina.java:571)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:262)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:430)
Caused by: java.security.NoSuchAlgorithmException: gkr KeyStore not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:142)
at java.security.Security.getImpl(Security.java:659)
at java.security.KeyStore.getInstance(KeyStore.java:584)
... 21 more
Dec 14, 2011 10:25:40 AM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
并不是 Apache Tomcat 不支持 GKR 类型,而是运行它的 JVM(显然是 Sun/Oracle)不支持此类型。
如果您想使用 Oracle/Sun JRE,则需要将密钥库转换为其支持的格式之一(例如 JKS),或者找到一种方法来将 GNU 安全提供程序与该 JRE 一起使用。
It's not Apache Tomcat that doesn't support the GKR type, it's the JVM (visibly Sun/Oracle) with which you're running it that doesn't support this type.
If you want to use the Oracle/Sun JRE, you'll need to convert your keystore into one of its supported formats (e.g. JKS), or to find a way to use the GNU security provider with that JRE.