【问题标题】:How do I create 256 bit self-signed certificate key with OpenSSL?如何使用 OpenSSL 创建 256 位自签名证书密钥?
【发布时间】:2014-03-05 04:21:14
【问题描述】:

看看 PayPal (https://www.paypal.com/) 安全证书。 它说:连接加密:高级加密(TLS_RSA_WITH_AES_256_CBC_SHA,256 位密钥)

现在,如何创建我的自签名证书以具有相同的加密 AES256?
我在 Openssl 中尝试了以下代码:

openssl> req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

我最终得到了 128 位证书。然后我尝试了:

openssl> genrsa -aes256 -out key.key 4096
openssl> req -new -key key.key -out cert.csr
openssl> x509 -req -days 365 -in cert.csr -signkey key.key -out cert.crt
openssl> rsa -in key.key -out key.key

即使我指定了“-aes256”,我最终还是获得了 128 位证书:连接加密:高级加密(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、128 位密钥)

那么,我做错了什么,你能告诉我如何创建那个 256 证书吗?感谢您的帮助!

【问题讨论】:

  • 您有一个带有 4096 位 RSA 密钥的证书。没有比这更高的意义了。 SSL 将选择哪种对称加密仅取决于服务器/客户端支持的内容,而不取决于证书的密钥大小。您需要修复服务器配置,而不是证书。
  • CodesInChaos 是对的。我应该已经编辑了服务器的配置。
    我在 apache 配置中添加了这一行并且它起作用了:SSLCipherSuite AES256-SHA

标签: apache openssl aes self-signed mod-ssl


【解决方案1】:

CodesInChaos 是对的。我应该编辑服务器的配置。我在 Apache 配置中添加了 SSLCipherSuite 行,它起作用了:

SSLCipherSuite AES256-SHA

【讨论】:

    【解决方案2】:

    常见的误解,SSL 证书并不规定网站使用的密码强度,而 Web 服务器 SSL 配置则可以。有两种类型的证书,使用 RSA 或 EC 签名。如果您想在 ECDH 中使用 SSL 密码,那么您需要一个 EC 签名证书,否则 RSA 证书将只能使用 RSA 密码。

    【讨论】:

    • 重要的不是证书的签名方式,而是证书的主题密钥的类型(算法),可以不同。实际上还有比 RSA 和 EC 更多的算法,尽管这些是最常见的。更正后,这对 7 年前给出的答案没有任何用处。此外,自 2018 年以来(在现有的 Q 和 As 之后),TLS 1.3 密码套件中不再指定 kx/auth,并且根本没有链接到证书类型/算法。
    猜你喜欢
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2018-02-16
    • 2013-11-10
    • 2017-07-12
    • 2014-02-06
    • 2014-11-19
    相关资源
    最近更新 更多