Apache 上的 SSL/TLS 1.2 和 openssl 1.0.1

iRy*_*ell 5 openssl apache-2.2

我构建并安装了 openssl 1.0.1。如何强制 Apache 使用 TLS 1.2 密码?

Tom*_*Tom 1

这 2 个文档涵盖了 TLS 1.2;
https://www.rfc-editor.org/rfc/rfc5246
https://www.rfc-editor.org/rfc/rfc6176

基本上,后一个文档是禁止 SSL 2.0 由 TLS1.2 协商,这是 Fedora 附带的 httpd 2.2 的默认设置;例如SSLProtocol all -SSLv2

然而,您的问题是关于 CipherSuites,这些文档也涵盖了这些内容;从表面上看,TLS 1.2唯一的强制密码套件是 TLS_RSA_WITH_AES_128_CBC_SHA

Appendix C. Cipher Suite Definitions
Cipher Suite                            Key        Cipher         Mac
                                        Exchange
TLS_RSA_WITH_AES_128_CBC_SHA            RSA          AES_128_CBC  SHA
Run Code Online (Sandbox Code Playgroud)

这表示服务器必须提供用于密钥交换的 RSA 证书,并且密码应为 AES_128_CBC 和 Mac SHA。

从 httpd mod_ssl 文档来看,这可以翻译为:

 SSLCipherSuite aRSA:kRSA:AES128-CBC:SHA   
Run Code Online (Sandbox Code Playgroud)

此处记录了;
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite