apache - 如何将 SSL_RSA 添加到 SSLCipherSuite?

标签 apache ssl ssl-certificate

真的希望对我的 SSLCipherSuite 问题有所帮助...所以我有这种虚拟主机配置:

<VirtualHost *:443>
DocumentRoot /home/webz/site.com
ServerName site.com
ServerAlias www.site.com

SSLProtocol -all +TLSv1.1 +TLSv1.2

SSLHonorCipherOrder on
SSLCipherSuite "kEDH:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+AESGCM:EECDH:EDH+AESGCM:EDH+aRSA:HIGH:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!DHE-RSA-SEED-SHA:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DH+3DES:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES256-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-CAMELLIA256-SHA:!DHE-RSA-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES128-SHA:!DHE-RSA-CAMELLIA128-SHA:!RC4"
SSLCompression off

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/site.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/site.com.key
SSLCertificateChainFile /etc/httpd/ssl/DigiCertCA.crt
</VirtualHost>

一切正常,通过测试安全性也不错。 (https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp)

问题:我正在尝试为 Opencart 2 安装支付模块 (REDSYS)。Redsys 支持团队没有激活支付模块,因为他们要求我在下面添加一个 SSLCipherSuite:

SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA

目前所有 SSLCipherSuite 都以 TLS 开头... :( 那么如何添加其中一个带有 SSL_RSA 的 SSLCipherSuites... ??? 希望有人了解良好的 SSL 并会提供帮助...

最佳答案

根据您的配置,您已经有了这样的密码套件。例如,您包含了与 TLS_RSA_WITH_AES_256_CBC_SHA 相同的 AES256-SHA。 SSL_ 前缀而不是 TLS_ 前缀只是 TLS 被称为 SSL 的旧时代的约定(即 TLS 1.0 实际上是 SSL 3.1)。

更有可能是您对 TLS 1.1 和 TLS 1.2 的限制导致了问题,因为考虑到它们要求您使用这样的旧密码并且甚至无法处理 ECDHE 密码,这可能表明他们有一个非常旧的客户端,无法使用讲 TLS 1.1 或 TLS 1.2。

当然,也可能是您在服务器配置的其他(即未显示)部分中包含了不同的密码,这些密码具有优先权。要了解您的服务器真正支持哪种密码,请使用 SSLLabs 检查您的站点。 .


编辑:analysis by SSLLabs非常清楚地表明 TLS_RSA_WITH_AES_256_CBC_SHA(与 SSL_RSA_WITH_AES_256_CBC_SHA 或 AES256-SHA 相同)已按要求在服务器上启用。如果我的假设是正确的,那么真正的问题是他们使用的旧客户端还不支持 TLS 1.1 或 TLS 1.2。在这种情况下,您可以更改受支持协议(protocol)版本的配置以也允许 TLS 1.0:

SSLProtocol all -SSLv3

使用此配置,支持 TLS 1.0 及更高版本(即 TLS 1.1、TLS 1.2)。

关于apache - 如何将 SSL_RSA 添加到 SSLCipherSuite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37219823/

相关文章:

ssl - 带有 IP 地址的 Google 托管证书

ssl - 设置让我们加密后网站重定向次数过多

c# - 是否可以在 iMac 上托管 .net Web 服务?

java - Apache POI 在多线程中的 tmp 目录上获取 java.io.IOException

python - 从 Apache 日志文件获取 Pandas 数据框

regex - Windows 本地主机的 .htaccess 文件配置

android - 在 genymotion android 模拟器中安装我的证书

java - 如何检查 keystore 中是否存在证书

c++ - Cyassl-2.4.2 缺少 libcyassl.a 文件

C# 客户端通过 SSL 连接到 Java 服务器