0

我有一个用 GNU/JAVA 生成的密钥库,它的存储类型是 GKR。现在 tomcat 不支持 GKR 类型的密钥库。有没有办法在tomcat中朗姆GKR storetype?或任何将 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
4

1 回答 1

0

不是 Apache Tomcat 不支持 GKR 类型,而是您运行它的 JVM(明显是 Sun/Oracle)不支持这种类型。

如果您想使用 Oracle/Sun JRE,您需要将您的密钥库转换为一种受支持的格式(例如 JKS),或者找到一种方法来将 GNU 安全提供程序与该 JRE 一起使用。

于 2011-12-14T12:46:05.023 回答