5

再会,

我在 Linux Redhat 中有一个 WAS 自由服务器,并且我启用了唯一的 TLSv1.2。

我键入以下命令以获取服务器信息:

openssl s_client -connect 10.7.5.65:9443 -msg

部分结果如下:

No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 1710 bytes and written 479 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported

我看到Server Temp Key值是 DH,1024 位,还看到服务器公钥是 2048 位,请问我的 Diffie-Hellman MODP 大小(位)实际上是 1024 还是 2048?

还有一部分ServerKeyExchange

<<< TLS 1.2 Handshake [length 020f], ServerKeyExchange
    0c 00 02 0b 00 80 ff ff ff ff ff ff ff ff c9 0f

00 80转换为十进制是 128,所以这意味着我的 Diffie-Hellman MODP 大小(位)是 1024 位?

如果它是 1024 位,我怎样才能将它增加到 2048 位?

我在此服务器中使用 Java 8 OpenJDK。

好心提醒。

4

1 回答 1

2

在这种情况下,您的 dhparams 看起来是 1024 位。您可以使用 openssl 生成新的 dhparams:

openssl dhparam -out dhparam.pem 2048

然后配置使用 dhparams 的服务器以使用新文件,然后重新启动。我们很久以前就用 nginx 和 apache 做到了这一点。对于 RHEL/CentOS,通常有一个 dhparam 文件用于集中在 /etc 中的系统。替换它就足够了,但是如果您使用的是非中心位置的文件,则需要相应地修改您的配置。

于 2020-10-28T21:38:13.613 回答