【发布时间】:2015-09-08 05:40:55
【问题描述】:
传递字符串不起作用
我想使用EVP_get_cipherbyname 获取密码,我有以下内容
- RFC 名称:
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
应该映射到这个
- OpenSSL 名称:
DHE-RSA-AES128-GCM-SHA256。
但是当将此字符串传递给函数时,它找不到密码。
传递整数不起作用
使用openssl -V 我可以看到这是一个受支持的密码,它的值0x9e 是基数为10 的158,我假设这将是NID,并尝试调用EVP_get_cipherbynid使用158,但是虽然我认为这不再是 NID,但也不起作用。
什么有效?
如何将 RFC 名称映射到 OpenSSL 将接受的名称?
【问题讨论】:
-
我的网络搜索引擎为此用途提供了此表:Mapping OpenSSL cipher suite names to RFC names。
-
@WhiteWinterWolf 我尝试使用该表,即。
DHE-RSA-AES128-GCM-SHA256但找不到密码 -
根据@RoraZ,
EVP_get_cipherbyname只为您提供带模式的对称密码,而不是 SSL/TLS 密码套件。 EVP 密码的名称(加上一些备用“昵称”)可以用openssl list-cipher-algorithms列出,其中包括许多 SSL/TLS 中未使用的名称。您不能直接查找密码套件;您可以(仅)使用ciphers联机帮助页上的个人和/或类别名称启用一个或多个密码套件,并在握手完成后查看协商的单个密码套件。
标签: openssl