我一直在尝试为包含 https 站点的 apache 网络服务器创建 key 和证书。我一直在使用 Openssl(版本 1.0.1f、g、h、i、q、t),但我无法使用密码套件 ECDHE-RSA-AES128-GCM-SHA256 创建证书。
我使用以下代码来设置密码列表:
openssl ciphers -v 'kEECDH+ECDSA kEDH +RSA !aNULL !eNULL !LOW !3DES !DES !RC2 !RC4 !EXP !DSS !IDEA !SRP !kECDH !MD5 !SEED !PSK !CAMELLIA'
结果是:
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
之后我一直在使用以下命令生成证书:
Step 1
openssl genpkey -algorithm RSA -outform PEM -out my-site.pem -pkeyopt rsa_keygen_bits:2048
Step 2
openssl req -new -sha256 -key my-site.pem -out my-site.csr
Step 3
openssl x509 -req -sha256 -days 1825 -in my-site.csr -signkey my-site.pem -out my-site.crt
当我在 apache 上安装所有文件,重新启动服务器,然后使用 Mozilla 检查结果时,我得到以下结果:
加密连接(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA)
我对此感到困惑,因为我做了很多测试并阅读了很多信息而没有得到不同的结果。
感谢任何指导!
最佳答案
服务器使用的密码与证书没有太大关系。对于 ECDHE-RSA-AES128-GCM-SHA256,您只需要生成一个普通的 RSA 证书。密码的其他部分描述了 key 交换 (ECDHE)、对称加密算法和 HMAC (AES128-GCM-SHA256)。这些部分取决于服务器配置和客户端的功能,但不取决于证书。
关于apache - 如何使用 ECDHE-RSA-AES128-GCM-SHA256 密码通过 Openssl 生成 PEM 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34539530/