hey*_*ete 6 openssl apache-httpd
我在 Ubuntu 14.04(“Trusty”)服务器上运行 Apache 2.4.7。Ubuntu 特定的包标识符是“2.4.7-1ubuntu4.1”。
如果没有明确指定 DH/ECDH 参数(见下文),Apache 使用来自RFC 3526的标准 DH 参数进行离散对数 DH。参数的长度与RSA公钥的长度匹配(例如2048位RSA密钥得到2048位DH参数,4096位RSA密钥得到4096位DH参数等)。
无论 RSA 或 ECDSA 公钥的大小如何,似乎只有 NIST P-256 cuve 用于 ECDH。
在Apache文档指出,除了网站的SSL证书,可以手动将引用的文件中指定DH或ECDH参数SSLCertificateFile
在站点的配置文件指令。
文档中相关条目的确切文本是:
其他可选元素是 DH 参数和/或临时密钥的 EC 曲线名称,分别由
openssl dhparam
和生成openssl ecparam
(在 2.4.7 或更高版本中支持)以及最终实体证书的私钥。
但是,Apache 似乎只读取以这种方式声明的第一个 DH 和第一个 ECDH 参数。忽略该文件中声明的其他参数集。
是否可以声明多组参数,以便客户可以选择将哪一组用于 DH/ECDH?
具体来说,我想为 ECDH 声明多个可接受的椭圆曲线。
例如,secp256r1
出于兼容性原因,我希望有可用的,但也提供secp384r1
和secp521r1
支持此类曲线的客户。
此外,为旧客户端提供 1024 位 DH 参数会很好,但为支持更长质数的新客户端提供 2048 位或更高的参数。
是否可以声明多组 DH 和 ECDH 参数而我只是遗漏了一些东西,或者是否只能分别明确声明一组 DH 和 ECDH 参数?
对于非 EC DH 没有办法做到这一点。
对于 ECDH:
SSLOpenSSLConfCmd ECDHParameters prime256v1
SSLOpenSSLConfCmd Curves brainpoolP512r1:secp521r1:brainpoolP384r1:secp384r1:brainpoolP256r1:prime256v1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6034 次 |
最近记录: |