Tomcat 7/8和IBM JRE不会初始化DSA密钥

时间:2018-01-08 16:28:59

标签: java tomcat https aix

我正在复制我们的一位客户报告的问题。

他在AIX 7.1上使用IBM JRE 7运行Tomcat 7。

Tomcat定义了HTTPS连接器:

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           keystoreFile="/path/to/keystore.key" keystorePass="password"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />

密钥库包含1024位DSA密钥对。

当HTTPS请求进入时,DSA密钥不会被初始化,这会导致握手失败。 来自catalina.out的输出-Djavax.net.debug=all

%% Initialized:  [Session-2, SSL_NULL_WITH_NULL_NULL]
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_EC
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain RSA
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_EC
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_RSA
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
%% Invalidated:  [Session-2, SSL_NULL_WITH_NULL_NULL]

如果我切换到IBM JRE 8,则初始化密钥:

%% Initialized:  [Session-1, SSL_NULL_WITH_NULL_NULL]
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_EC
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain RSA
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_EC
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain EC_RSA
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain RSA
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias null
ssl: ServerHandshaker.setupPrivateKeyAndChain DSA
matching alias: mykey
ssl: ServerHandshaker.setupPrivateKeyAndChain, chooseServerAlias mykey
ssl: ServerHandshaker.setupPrivateKeyAndChain, return true
JsseJCE:  Using KeyPairGenerator DiffieHellman from provider TBD via init
DHCrypt:  DH KeyPairGenerator  from provider from init IBMJCE version 1.8
%% Negotiating:  [Session-1, SSL_DHE_DSS_WITH_AES_128_CBC_SHA]

我们的客户表示,同一个密钥库在Tomcat 6中使用相同的JRE 7。

我在以下环境中对原始密钥库进行了一些测试:

AIX

oslevel -s
7100-04-04-1717

爪哇

Java7 - IBM JRE - java7_64_SR3 (also SR10_FP1)
Java8 - IBM JRE - java8_64_SR3_FP22

Tomcat的

apache-tomcat-6.0.36
apache-tomcat-7.0.69
apache-tomcat-8.5.16

结果是:

工作:

Tomcat 6 + Java 7

Tomcat 6 + Java 8

Tomcat 7 + Java 8

Tomcat 8 + Java 8

无效:

Tomcat 7 + Java 7

Tomcat 8 + Java 7

使用IMB JRE 7运行Tomcat 7/8时似乎存在一些问题,但在其他组合中则没有。

安装JRE只是为了重现这个问题。

我真的无法找到它不能在这些组合中工作的原因。

任何想法可能是什么原因或我可以尝试什么?

编辑:由于其他限制,仅使用JRE 8是不可能的。 我们通过提供具有2048位RSA密钥的密钥库来实现解决方法,该密钥库适用于所有组合。如果不知道原始密钥库的问题是什么,仍然真的不满意。

0 个答案:

没有答案