如何从 SSL 证书链中删除服务器临时密钥

如何从 SSL 证书链中删除服务器临时密钥

当我测试与服务器的连接时:

echo q | openssl s_client -connect abc.def.com:8443

我回复(摘录):

未发送客户端证书 CA 名称
对等签名摘要:SHA512。
服务器临时密钥:ECDH,P-256,256 位

新的 TLSv1/SSLv3,密码为 ECDHE-RSA-AES256-GCM-SHA384。
服务器公钥为 2048 位

有人能告诉我如何删除临时密钥吗——我对安全几乎一无所知,但猜测拥有临时密钥和/或 256 位密钥(或与公钥不匹配的密钥)是不太理想的。

我尝试解决这个问题,结果发现:

https://security.stackexchange.com/questions/142274/what-does-server-temp-key-mean-in-an-openssl-output

&

https://stackoverflow.com/questions/31441070/how-to-remove-just-one-certificate-from-a-certificate-chain-in-a-java-keystore

但没有成功。

为了解释第二个链接未能成功......

pemfile.pem 内容(已删除!):

Bag Attributes
friendlyName: gateway-identity
localKeyID: 54 69 6D 65 20 31 35 36 38 30 32 37 34 38 35 37 30 37

Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIE...
...
...
v4mZMVyvG63TmtJx6OtP0Zs=
-----END PRIVATE KEY-----
Bag Attributes
    friendlyName: gateway-identity
    localKeyID: 54 69 6D 65 20 31 35 36 38 30 32 37 34 38 35 37 30 37
subject=/C=US/ST=Test/L=Test/O=Hadoop/OU=Test/CN=abc.def.com
issuer=/C=US/ST=Test/L=Test/O=Hadoop/OU=Test/CN=abc.def.com
-----BEGIN CERTIFICATE-----
MIID...
...
...
6WLAiy7LML8p0Da1WKom6L2HqyFKg6qltqEO5x16LrV4
-----END CERTIFICATE-----

删除证书及其前面的包属性会导致执行时出现错误:

openssl pkcs12 -export -in pemfile.pem -name 网关身份 -out new.p12

我得到:

无法加载证书

这对我来说很有意义。

我是不是从错误的角度看待这个问题?还有其他方法可以禁用/删除临时密钥吗?

答案1

我对安全几乎一无所知......

是的,根据这个问题来看,情况确实如此。
虽然如果你几乎一无所知,这不会有什么大问题,但如果你毫无根据地得出结论,这实际上就是个问题。这样做弊大于利。

...但猜测拥有一个临时密钥和/或一个 256 位密钥(或与公钥不匹配的密钥)是不太理想的。

猜错了。此密钥与 ECDHE 密钥交换相关,与椭圆曲线一起使用时 256 位完全没问题。

如何从 SSL 证书链中删除服务器临时密钥

该密钥首先不是证书链的一部分,因此无法从那里删除它。

简而言之:您的问题中没有显示任何内容表明存在安全问题。

相关内容