SSL/TLS 证书更新?

信息安全 tls x.509
2021-08-22 13:20:10

我们有一个使用 openssl0.9.8 的设置,所以它只支持 SSLv2 和 TLSv1.0。我们有一个生成自签名 X.509 证书并使用 openssl 库的脚本。

现在我们已经将 openssl 升级到 openssl1.0.1 以支持 TLSv1.2。那么,我需要创建一个新的 X.509 证书来支持 TLSv1.2 吗?

3个回答

现在我们已经将 openssl 升级到 openssl1.0.1 以支持 TLSv1.2。那么,我需要创建一个新的 X.509 证书来支持 TLSv1.2 吗?

SSL/TLS 服务器证书声明服务器的身份。此证书独立于 SSL/TLS 协议版本。SSL/TLS 版本在连接期间协商,然后将证书提供给客户端。如果启用 TLSv1.2 支持,则客户端能够使用更安全的密码并防止其他一些攻击。更改协议版本时无需创建新证书。

即使较新的协议可以与您的旧证书一起使用,您也可能需要查看证书的参数。特别是:

  • MD5 和 SHA-1 签名被认为是不安全的。移至 SHA-256。
  • 1024 位 RSA 密钥被认为是不安全的。考虑迁移到 2048 位 RSA 或更高版本。

您可以使用以下命令检查 X.509 证书的内容:

openssl x509 -noout -text -in your.crt

对于配置 TLS 参数,您可以开始阅读https://wiki.mozilla.org/Security/Server_Side_TLS

不,您不必这样做。主要是 tls 1.2 和 1.0 之间的密码套装不同

首先,我希望您没有在您的服务器上使用 OpenSSL 1.0.1,因为它容易受到HeartBleed的攻击。

在回答您的问题之前,让我们看看 X.509 证书(来自RFC 5280)中的一些主要元素:

Certificate
    Version
    Serial Number
    Algorithm ID
    Issuer
    Validity
        Not Before
        Not After
    Subject
    Subject Public Key Info
        Public Key Algorithm
        Subject Public Key
    Issuer Unique Identifier (optional)
    Subject Unique Identifier (optional)
    Extensions (optional) 

您可以自己注意到所有元素都保持不变如果您不更改您使用的密钥和算法,则证书仍然有效。

我的意思是您不需要颁发其他证书,因为 OpenSSL0.9.8 的所有密码套件都存在于您的新 OpenSSL 版本中,此外还有以下列表:

TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256
 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384
 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  ECDH-ECDSA-CAMELLIA128-SHA256
 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  ECDH-ECDSA-CAMELLIA256-SHA384
 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   ECDHE-RSA-CAMELLIA128-SHA256
 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   ECDHE-RSA-CAMELLIA256-SHA384
 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    ECDH-RSA-CAMELLIA128-SHA256
 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    ECDH-RSA-CAMELLIA256-SHA384

要回答您通过对另一个答案的评论提出的问题,证书仅用于证明您拥有假装是您的公钥。