openssl-ciphers
名称
openssl-ciphers - SSL密码显示和密码列表命令
语法
openssl ciphers [-help] [-s] [-v] [-V] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-s] [-psk] [-srp] [-stdname] [-convert name] [-ciphersuites val] [-provider name] [-provider-path path] [-propquery propq] [cipherlist]
描述
此命令将文本形式的OpenSSL密码列表转换为有序的SSL密码首选项列表。它可以用来确定合适的密码列表。
选项
- -help
-
打印使用信息。
- -provider name
- -provider-path path
- -propquery propq
- -s
-
仅列出支持的密码:与安全级别以及协议版本最小值和最大值一致的密码。这更接近应用程序将支持的实际密码列表。
PSK和SRP密码默认情况下未启用:它们需要-psk或-srp才能启用。
它也不会更改支持的签名算法的默认列表。
在服务器上,支持的密码列表也可能排除其他密码,具体取决于已配置的证书和DH参数的存在。
如果不使用此选项,则将列出与密码列表匹配的所有密码。
- -psk
-
与-s结合使用时,包括需要PSK的密码套件。
- -srp
-
与-s结合使用时,包括需要SRP的密码套件。此选项已弃用。
- -v
-
详细输出:对于每个密码套件,列出由SSL_CIPHER_description(3)提供的详细信息。
- -V
-
类似于-v,但包括以十六进制表示的官方密码套件值。
- -tls1_3、-tls1_2、-tls1_1、-tls1、-ssl3
-
与-s选项结合使用时,列出如果协商指定的协议可以使用哪些密码。请注意,并非所有协议和标志都可用,具体取决于OpenSSL的构建方式。
- -stdname
-
在每个密码套件前加上其标准名称。
- -convert name
-
将标准密码name转换为其OpenSSL名称。
- -ciphersuites val
-
设置TLSv1.3密码套件的列表。此列表将与已配置的任何TLSv1.2及以下密码套件组合。此列表的格式是TLSv1.3密码套件名称的简单冒号(“:”)分隔列表。默认情况下,此值为
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
- cipherlist
-
要转换为密码首选项列表的TLSv1.2及以下密码套件的密码列表。此列表将与已配置的任何TLSv1.3密码套件组合。如果未包含它,则将使用默认密码列表。格式如下所述。
密码列表格式
密码列表由一个或多个用冒号分隔的密码字符串组成。逗号或空格也是可接受的分隔符,但通常使用冒号。
密码字符串可以使用IANA TLS密码套件注册表中的标准名称引用密码(https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4)。
实际的密码字符串可以采用几种不同的形式。
它可以包含单个密码套件,例如RC4-SHA。
它可以表示包含特定算法的密码套件列表,或特定类型的密码套件。例如,SHA1表示使用摘要算法SHA1的所有密码套件,SSLv3表示所有SSL v3算法。
可以使用+字符将密码套件列表组合到单个密码字符串中。这用作逻辑与运算。例如,SHA1+DES表示包含SHA1和DES算法的所有密码套件。
每个密码字符串前面可以可选地加上!、-或+字符。
如果使用!,则密码将永久从列表中删除。即使明确声明,已删除的密码也永远不会重新出现在列表中。
如果使用-,则密码将从列表中删除,但某些或所有密码可以通过以后的选项再次添加。
如果使用+,则密码将移至列表的末尾。此选项不会添加任何新密码,它只是移动匹配的现有密码。
如果没有这些字符,则该字符串将仅解释为要追加到当前首选项列表的密码列表。如果列表包含任何已存在的密码,则将忽略它们:也就是说,它们不会移动到列表的末尾。
密码字符串@STRENGTH可以在任何位置使用,以便根据加密算法密钥长度对当前密码列表进行排序。
密码字符串@SECLEVEL=n可以在任何位置使用,以将安全级别设置为n,n应为0到5之间的数字(含)。有关每个级别的含义,请参见SSL_CTX_set_security_level(3)。
密码列表可以在前面加上DEFAULT关键字,该关键字启用如下定义的默认密码列表。与密码字符串不同,此前缀不能与其他字符串使用+字符组合。例如,DEFAULT+DES无效。
默认列表的内容在编译时确定,通常对应于ALL:!COMPLEMENTOFDEFAULT:!eNULL。
密码字符串
以下是所有允许的密码字符串及其含义的列表。
- COMPLEMENTOFDEFAULT
-
包含在ALL中但默认情况下未启用的密码。目前,这包括所有RC4和匿名密码。请注意,此规则不涵盖eNULL,eNULL不包含在ALL中(如有必要,请使用COMPLEMENTOFALL)。请注意,基于RC4的密码套件默认情况下未内置于OpenSSL中(请参阅Configure的enable-weak-ssl-ciphers选项)。
- ALL
-
除了eNULL密码(如果需要,必须显式启用)之外的所有密码套件。从OpenSSL 1.0.0开始,ALL密码套件默认情况下会进行明智排序。
- COMPLEMENTOFALL
-
ALL未启用的密码套件,目前为eNULL。
- HIGH
-
“高”加密密码套件。这目前意味着密钥长度大于128位的那些密码套件,以及一些使用128位密钥的密码套件。
- MEDIUM
-
“中等”加密密码套件,目前是一些使用128位加密的密码套件。
- LOW
-
“低”加密密码套件,目前是使用64位或56位加密算法但排除导出密码套件的那些密码套件。从OpenSSL 1.1.0开始,所有这些密码套件均已删除。
- eNULL、NULL
-
“NULL”密码,即不提供任何加密的密码。由于这些密码根本不提供任何加密并且存在安全风险,因此不会通过DEFAULT或ALL密码字符串启用它们。在使用kRSA或aECDSA等较低级别的基元构建密码列表时要小心,因为这些基元与eNULL密码重叠。如有疑问,请在密码列表中包含!eNULL。
- aNULL
-
不提供身份验证的密码套件。这目前是匿名DH算法和匿名ECDH算法。这些密码套件容易受到“中间人”攻击,因此不建议使用。这些密码套件已从DEFAULT密码中排除,但包含在ALL密码中。在使用kDHE或AES等较低级别的基元构建密码列表时要小心,因为这些基元与aNULL密码重叠。如有疑问,请在密码列表中包含!aNULL。
- kRSA、aRSA、RSA
-
使用RSA密钥交换或身份验证的密码套件。RSA是kRSA的别名。
- kDHr、kDHd、kDH
-
使用静态DH密钥协商和由具有RSA和DSS密钥的CA签名的DH证书的密码套件,或分别使用其中一个。在OpenSSL 1.1.0中,所有这些密码套件均已删除。
- kDHE、kEDH、DH
-
使用短暂DH密钥协商的密码套件,包括匿名密码套件。
- DHE、EDH
-
使用经过身份验证的短暂DH密钥协商的密码套件。
- ADH
-
匿名DH密码套件,请注意,这并不包括匿名椭圆曲线DH(ECDH)密码套件。
- kEECDH、kECDHE、ECDH
-
使用短暂ECDH密钥协商的密码套件,包括匿名密码套件。
- ECDHE、EECDH
-
使用经过身份验证的短暂ECDH密钥协商的密码套件。
- AECDH
-
匿名椭圆曲线Diffie-Hellman密码套件。
- aDSS、DSS
-
使用DSS身份验证的密码套件,即证书包含DSS密钥。
- aDH
-
有效地使用DH身份验证的密码套件,即证书包含DH密钥。在OpenSSL 1.1.0中,所有这些密码套件均已删除。
- aECDSA、ECDSA
-
使用ECDSA身份验证的密码套件,即证书包含ECDSA密钥。
- TLSv1.2、TLSv1.0、SSLv3
-
列出仅在至少TLS v1.2、TLS v1.0或SSL v3.0中支持的密码套件。注意:没有特定于TLS v1.1的密码套件。由于这只是最低版本,因此,例如,如果协商TLSv1.0,则TLSv1.0和SSLv3.0密码套件都可用。
注意:这些密码字符串不会更改SSL或TLS的协商版本,它们只会影响可用密码套件的列表。
- AES128、AES256、AES
-
使用128位AES、256位AES或128位或256位AES的密码套件。
- AESGCM
-
伽罗瓦计数器模式(GCM)中的AES:这些密码套件仅在TLS v1.2中受支持。
- AESCCM、AESCCM8
-
密码块链接-消息身份验证模式(CCM)中的AES:这些密码套件仅在TLS v1.2中受支持。AESCCM引用使用16和8八位组完整性校验值(ICV)的CCM密码套件,而AESCCM8仅引用8八位组ICV。
- ARIA128、ARIA256、ARIA
-
使用128位ARIA、256位ARIA或128位或256位ARIA的密码套件。
- CAMELLIA128、CAMELLIA256、CAMELLIA
-
使用128位CAMELLIA、256位CAMELLIA或128位或256位CAMELLIA的密码套件。
- CHACHA20
-
使用ChaCha20的密码套件。
- 3DES
-
使用三重DES的密码套件。
- DES
-
使用DES(而不是三重DES)的密码套件。在OpenSSL 1.1.0中,所有这些密码套件均已删除。
- RC4
-
使用RC4的密码套件。
- RC2
-
使用RC2的密码套件。
- IDEA
-
使用IDEA的密码套件。
- SEED
-
使用SEED的密码套件。
- MD5
-
使用MD5的密码套件。
- SHA1、SHA
-
使用SHA1的密码套件。
- SHA256、SHA384
-
使用SHA256或SHA384的密码套件。
- aGOST
-
使用GOST R 34.10(2001或94)进行身份验证的密码套件(需要支持GOST算法的引擎)。
- aGOST01
-
使用GOST R 34.10-2001身份验证的密码套件。
- kGOST
-
使用RFC 4357中指定的VKO 34.10密钥交换的密码套件。
- GOST94
-
使用基于GOST R 34.11-94的HMAC的密码套件。
- GOST89MAC
-
使用GOST 28147-89 MAC代替HMAC的密码套件。
- PSK
-
所有使用预共享密钥(PSK)的密码套件。
- kPSK、kECDHEPSK、kDHEPSK、kRSAPSK
-
使用PSK密钥交换、ECDHE_PSK、DHE_PSK或RSA_PSK的密码套件。
- aPSK
-
使用PSK身份验证的密码套件(目前除RSA_PSK之外的所有PSK模式)。
- SUITEB128、SUITEB128ONLY、SUITEB192
-
分别启用使用 128 位(允许对等方使用 192 位模式)、128 位(不允许对等方使用 192 位)或 192 位安全级别的 Suite B 操作模式。如果使用,这些密码字符串应首先出现在密码列表中,并且忽略它们之后的所有内容。设置 Suite B 模式还需要满足 RFC6460 的其他要求。特别是,支持的签名算法减少到仅支持 ECDSA 和 SHA256 或 SHA384,只能使用椭圆曲线 P-256 和 P-384,并且仅允许两个符合 Suite B 的密码套件(ECDHE-ECDSA-AES128-GCM-SHA256 和 ECDHE-ECDSA-AES256-GCM-SHA384)。
- CBC
-
所有使用密码块链 (CBC) 模式中的加密算法的密码套件。这些密码套件仅在 TLS v1.2 及更早版本中受支持。目前,它是以下密码字符串的别名:SSL_DES、SSL_3DES、SSL_RC2、SSL_IDEA、SSL_AES128、SSL_AES256、SSL_CAMELLIA128、SSL_CAMELLIA256、SSL_SEED。
密码套件名称
以下列表给出了相关规范中的标准 SSL 或 TLS 密码套件名称及其 OpenSSL 等效项。您可以在密码列表中使用标准名称或 OpenSSL 名称,或两者混合使用。
需要注意的是,一些密码套件名称不包含使用的身份验证,例如 DES-CBC3-SHA。在这些情况下,使用 RSA 身份验证。
SSL v3.0 密码套件
SSL_RSA_WITH_NULL_MD5 NULL-MD5
SSL_RSA_WITH_NULL_SHA NULL-SHA
SSL_RSA_WITH_RC4_128_MD5 RC4-MD5
SSL_RSA_WITH_RC4_128_SHA RC4-SHA
SSL_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA DH-DSS-DES-CBC3-SHA
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA DH-RSA-DES-CBC3-SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE-DSS-DES-CBC3-SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE-RSA-DES-CBC3-SHA
SSL_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA
SSL_FORTEZZA_KEA_WITH_NULL_SHA Not implemented.
SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA Not implemented.
SSL_FORTEZZA_KEA_WITH_RC4_128_SHA Not implemented.
TLS v1.0 密码套件
TLS_RSA_WITH_NULL_MD5 NULL-MD5
TLS_RSA_WITH_NULL_SHA NULL-SHA
TLS_RSA_WITH_RC4_128_MD5 RC4-MD5
TLS_RSA_WITH_RC4_128_SHA RC4-SHA
TLS_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented.
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented.
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE-DSS-DES-CBC3-SHA
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE-RSA-DES-CBC3-SHA
TLS_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA
来自 RFC3268 的 AES 密码套件,扩展 TLS v1.0
TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA
TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
TLS_DH_DSS_WITH_AES_128_CBC_SHA DH-DSS-AES128-SHA
TLS_DH_DSS_WITH_AES_256_CBC_SHA DH-DSS-AES256-SHA
TLS_DH_RSA_WITH_AES_128_CBC_SHA DH-RSA-AES128-SHA
TLS_DH_RSA_WITH_AES_256_CBC_SHA DH-RSA-AES256-SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE-RSA-AES128-SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA
TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA
TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA
来自 RFC4132 的山茶花密码套件,扩展 TLS v1.0
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128-SHA
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256-SHA
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA DH-DSS-CAMELLIA128-SHA
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA DH-DSS-CAMELLIA256-SHA
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA DH-RSA-CAMELLIA128-SHA
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA DH-RSA-CAMELLIA256-SHA
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE-DSS-CAMELLIA128-SHA
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE-DSS-CAMELLIA256-SHA
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE-RSA-CAMELLIA128-SHA
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE-RSA-CAMELLIA256-SHA
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH-CAMELLIA128-SHA
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH-CAMELLIA256-SHA
来自 RFC4162 的 SEED 密码套件,扩展 TLS v1.0
TLS_RSA_WITH_SEED_CBC_SHA SEED-SHA
TLS_DH_DSS_WITH_SEED_CBC_SHA DH-DSS-SEED-SHA
TLS_DH_RSA_WITH_SEED_CBC_SHA DH-RSA-SEED-SHA
TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE-DSS-SEED-SHA
TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE-RSA-SEED-SHA
TLS_DH_anon_WITH_SEED_CBC_SHA ADH-SEED-SHA
来自草案-chudov-cryptopro-cptls 的 GOST 密码套件,扩展 TLS v1.0
注意:这些密码需要一个包含 GOST 加密算法的引擎,例如gost引擎,它不是 OpenSSL 发行版的一部分。
TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89
TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89
TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94
TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94
GOST 密码套件,扩展 TLS v1.2
注意:这些密码需要一个包含 GOST 加密算法的引擎,例如gost引擎,它不是 OpenSSL 发行版的一部分。
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT GOST2012-GOST8912-GOST8912
TLS_GOSTR341112_256_WITH_NULL_GOSTR3411 GOST2012-NULL-GOST12
注意:GOST2012-GOST8912-GOST8912 是两个密码 ID 的别名,旧的 LEGACY-GOST2012-GOST8912-GOST8912 和新的 IANA-GOST2012-GOST8912-GOST8912
其他导出 1024 和其他密码套件
注意:这些密码也可以在 SSL v3 中使用。
TLS_DHE_DSS_WITH_RC4_128_SHA DHE-DSS-RC4-SHA
椭圆曲线密码套件
TLS_ECDHE_RSA_WITH_NULL_SHA ECDHE-RSA-NULL-SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA ECDHE-RSA-RC4-SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ECDHE-RSA-DES-CBC3-SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ECDHE-RSA-AES128-SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDHE-RSA-AES256-SHA
TLS_ECDHE_ECDSA_WITH_NULL_SHA ECDHE-ECDSA-NULL-SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA ECDHE-ECDSA-RC4-SHA
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA ECDHE-ECDSA-DES-CBC3-SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA ECDHE-ECDSA-AES128-SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ECDHE-ECDSA-AES256-SHA
TLS_ECDH_anon_WITH_NULL_SHA AECDH-NULL-SHA
TLS_ECDH_anon_WITH_RC4_128_SHA AECDH-RC4-SHA
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA AECDH-DES-CBC3-SHA
TLS_ECDH_anon_WITH_AES_128_CBC_SHA AECDH-AES128-SHA
TLS_ECDH_anon_WITH_AES_256_CBC_SHA AECDH-AES256-SHA
TLS v1.2 密码套件
TLS_RSA_WITH_NULL_SHA256 NULL-SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256 AES128-SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256 AES256-SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256 AES128-GCM-SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384 AES256-GCM-SHA384
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 DH-RSA-AES128-SHA256
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 DH-RSA-AES256-SHA256
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 DH-RSA-AES128-GCM-SHA256
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 DH-RSA-AES256-GCM-SHA384
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 DH-DSS-AES128-SHA256
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 DH-DSS-AES256-SHA256
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 DH-DSS-AES128-GCM-SHA256
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 DH-DSS-AES256-GCM-SHA384
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 DHE-RSA-AES128-SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 DHE-RSA-AES256-SHA256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 DHE-RSA-AES256-GCM-SHA384
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 DHE-DSS-AES128-SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 DHE-DSS-AES256-SHA256
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 DHE-DSS-AES128-GCM-SHA256
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 DHE-DSS-AES256-GCM-SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ECDHE-RSA-AES128-SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDHE-RSA-AES256-SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 ECDHE-ECDSA-AES128-SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 ECDHE-ECDSA-AES256-SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ECDHE-ECDSA-AES128-GCM-SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE-ECDSA-AES256-GCM-SHA384
TLS_DH_anon_WITH_AES_128_CBC_SHA256 ADH-AES128-SHA256
TLS_DH_anon_WITH_AES_256_CBC_SHA256 ADH-AES256-SHA256
TLS_DH_anon_WITH_AES_128_GCM_SHA256 ADH-AES128-GCM-SHA256
TLS_DH_anon_WITH_AES_256_GCM_SHA384 ADH-AES256-GCM-SHA384
RSA_WITH_AES_128_CCM AES128-CCM
RSA_WITH_AES_256_CCM AES256-CCM
DHE_RSA_WITH_AES_128_CCM DHE-RSA-AES128-CCM
DHE_RSA_WITH_AES_256_CCM DHE-RSA-AES256-CCM
RSA_WITH_AES_128_CCM_8 AES128-CCM8
RSA_WITH_AES_256_CCM_8 AES256-CCM8
DHE_RSA_WITH_AES_128_CCM_8 DHE-RSA-AES128-CCM8
DHE_RSA_WITH_AES_256_CCM_8 DHE-RSA-AES256-CCM8
ECDHE_ECDSA_WITH_AES_128_CCM ECDHE-ECDSA-AES128-CCM
ECDHE_ECDSA_WITH_AES_256_CCM ECDHE-ECDSA-AES256-CCM
ECDHE_ECDSA_WITH_AES_128_CCM_8 ECDHE-ECDSA-AES128-CCM8
ECDHE_ECDSA_WITH_AES_256_CCM_8 ECDHE-ECDSA-AES256-CCM8
来自 RFC6209 的 ARIA 密码套件,扩展 TLS v1.2
注意:此 RFC 中提到的 CBC 模式不受支持。
TLS_RSA_WITH_ARIA_128_GCM_SHA256 ARIA128-GCM-SHA256
TLS_RSA_WITH_ARIA_256_GCM_SHA384 ARIA256-GCM-SHA384
TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 DHE-RSA-ARIA128-GCM-SHA256
TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 DHE-RSA-ARIA256-GCM-SHA384
TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 DHE-DSS-ARIA128-GCM-SHA256
TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 DHE-DSS-ARIA256-GCM-SHA384
TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 ECDHE-ECDSA-ARIA128-GCM-SHA256
TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 ECDHE-ECDSA-ARIA256-GCM-SHA384
TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 ECDHE-ARIA128-GCM-SHA256
TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 ECDHE-ARIA256-GCM-SHA384
TLS_PSK_WITH_ARIA_128_GCM_SHA256 PSK-ARIA128-GCM-SHA256
TLS_PSK_WITH_ARIA_256_GCM_SHA384 PSK-ARIA256-GCM-SHA384
TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 DHE-PSK-ARIA128-GCM-SHA256
TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 DHE-PSK-ARIA256-GCM-SHA384
TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 RSA-PSK-ARIA128-GCM-SHA256
TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 RSA-PSK-ARIA256-GCM-SHA384
来自 RFC6367 的山茶花基于 HMAC 的密码套件,扩展 TLS v1.2
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-RSA-CAMELLIA128-SHA256
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-RSA-CAMELLIA256-SHA384
预共享密钥 (PSK) 密码套件
PSK_WITH_NULL_SHA PSK-NULL-SHA
DHE_PSK_WITH_NULL_SHA DHE-PSK-NULL-SHA
RSA_PSK_WITH_NULL_SHA RSA-PSK-NULL-SHA
PSK_WITH_RC4_128_SHA PSK-RC4-SHA
PSK_WITH_3DES_EDE_CBC_SHA PSK-3DES-EDE-CBC-SHA
PSK_WITH_AES_128_CBC_SHA PSK-AES128-CBC-SHA
PSK_WITH_AES_256_CBC_SHA PSK-AES256-CBC-SHA
DHE_PSK_WITH_RC4_128_SHA DHE-PSK-RC4-SHA
DHE_PSK_WITH_3DES_EDE_CBC_SHA DHE-PSK-3DES-EDE-CBC-SHA
DHE_PSK_WITH_AES_128_CBC_SHA DHE-PSK-AES128-CBC-SHA
DHE_PSK_WITH_AES_256_CBC_SHA DHE-PSK-AES256-CBC-SHA
RSA_PSK_WITH_RC4_128_SHA RSA-PSK-RC4-SHA
RSA_PSK_WITH_3DES_EDE_CBC_SHA RSA-PSK-3DES-EDE-CBC-SHA
RSA_PSK_WITH_AES_128_CBC_SHA RSA-PSK-AES128-CBC-SHA
RSA_PSK_WITH_AES_256_CBC_SHA RSA-PSK-AES256-CBC-SHA
PSK_WITH_AES_128_GCM_SHA256 PSK-AES128-GCM-SHA256
PSK_WITH_AES_256_GCM_SHA384 PSK-AES256-GCM-SHA384
DHE_PSK_WITH_AES_128_GCM_SHA256 DHE-PSK-AES128-GCM-SHA256
DHE_PSK_WITH_AES_256_GCM_SHA384 DHE-PSK-AES256-GCM-SHA384
RSA_PSK_WITH_AES_128_GCM_SHA256 RSA-PSK-AES128-GCM-SHA256
RSA_PSK_WITH_AES_256_GCM_SHA384 RSA-PSK-AES256-GCM-SHA384
PSK_WITH_AES_128_CBC_SHA256 PSK-AES128-CBC-SHA256
PSK_WITH_AES_256_CBC_SHA384 PSK-AES256-CBC-SHA384
PSK_WITH_NULL_SHA256 PSK-NULL-SHA256
PSK_WITH_NULL_SHA384 PSK-NULL-SHA384
DHE_PSK_WITH_AES_128_CBC_SHA256 DHE-PSK-AES128-CBC-SHA256
DHE_PSK_WITH_AES_256_CBC_SHA384 DHE-PSK-AES256-CBC-SHA384
DHE_PSK_WITH_NULL_SHA256 DHE-PSK-NULL-SHA256
DHE_PSK_WITH_NULL_SHA384 DHE-PSK-NULL-SHA384
RSA_PSK_WITH_AES_128_CBC_SHA256 RSA-PSK-AES128-CBC-SHA256
RSA_PSK_WITH_AES_256_CBC_SHA384 RSA-PSK-AES256-CBC-SHA384
RSA_PSK_WITH_NULL_SHA256 RSA-PSK-NULL-SHA256
RSA_PSK_WITH_NULL_SHA384 RSA-PSK-NULL-SHA384
PSK_WITH_AES_128_GCM_SHA256 PSK-AES128-GCM-SHA256
PSK_WITH_AES_256_GCM_SHA384 PSK-AES256-GCM-SHA384
ECDHE_PSK_WITH_RC4_128_SHA ECDHE-PSK-RC4-SHA
ECDHE_PSK_WITH_3DES_EDE_CBC_SHA ECDHE-PSK-3DES-EDE-CBC-SHA
ECDHE_PSK_WITH_AES_128_CBC_SHA ECDHE-PSK-AES128-CBC-SHA
ECDHE_PSK_WITH_AES_256_CBC_SHA ECDHE-PSK-AES256-CBC-SHA
ECDHE_PSK_WITH_AES_128_CBC_SHA256 ECDHE-PSK-AES128-CBC-SHA256
ECDHE_PSK_WITH_AES_256_CBC_SHA384 ECDHE-PSK-AES256-CBC-SHA384
ECDHE_PSK_WITH_NULL_SHA ECDHE-PSK-NULL-SHA
ECDHE_PSK_WITH_NULL_SHA256 ECDHE-PSK-NULL-SHA256
ECDHE_PSK_WITH_NULL_SHA384 ECDHE-PSK-NULL-SHA384
PSK_WITH_CAMELLIA_128_CBC_SHA256 PSK-CAMELLIA128-SHA256
PSK_WITH_CAMELLIA_256_CBC_SHA384 PSK-CAMELLIA256-SHA384
DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 DHE-PSK-CAMELLIA128-SHA256
DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 DHE-PSK-CAMELLIA256-SHA384
RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 RSA-PSK-CAMELLIA128-SHA256
RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 RSA-PSK-CAMELLIA256-SHA384
ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-PSK-CAMELLIA128-SHA256
ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-PSK-CAMELLIA256-SHA384
PSK_WITH_AES_128_CCM PSK-AES128-CCM
PSK_WITH_AES_256_CCM PSK-AES256-CCM
DHE_PSK_WITH_AES_128_CCM DHE-PSK-AES128-CCM
DHE_PSK_WITH_AES_256_CCM DHE-PSK-AES256-CCM
PSK_WITH_AES_128_CCM_8 PSK-AES128-CCM8
PSK_WITH_AES_256_CCM_8 PSK-AES256-CCM8
DHE_PSK_WITH_AES_128_CCM_8 DHE-PSK-AES128-CCM8
DHE_PSK_WITH_AES_256_CCM_8 DHE-PSK-AES256-CCM8
ChaCha20-Poly1305 密码套件,扩展 TLS v1.2
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE-RSA-CHACHA20-POLY1305
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE-ECDSA-CHACHA20-POLY1305
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 DHE-RSA-CHACHA20-POLY1305
TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 PSK-CHACHA20-POLY1305
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 ECDHE-PSK-CHACHA20-POLY1305
TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 DHE-PSK-CHACHA20-POLY1305
TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 RSA-PSK-CHACHA20-POLY1305
TLS v1.3 密码套件
TLS_AES_128_GCM_SHA256 TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384 TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256 TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_CCM_SHA256 TLS_AES_128_CCM_SHA256
TLS_AES_128_CCM_8_SHA256 TLS_AES_128_CCM_8_SHA256
OpenSSL 使用的旧名称
以下名称为旧版本所接受
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA (DHE-RSA-DES-CBC3-SHA)
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA (DHE-DSS-DES-CBC3-SHA)
注释
某些编译版本的 OpenSSL 可能不包含此处列出的所有密码,因为某些密码在编译时被排除在外。
示例
包括空密码在内的所有 OpenSSL 密码的详细列表
openssl ciphers -v 'ALL:eNULL'
包含所有密码(除了空密码和匿名 DH),然后按强度排序
openssl ciphers -v 'ALL:!ADH:@STRENGTH'
包含所有密码,除了没有加密 (eNULL) 或没有身份验证 (aNULL) 的密码
openssl ciphers -v 'ALL:!aNULL'
仅包含 3DES 密码,然后将 RSA 密码放在最后
openssl ciphers -v '3DES:+RSA'
包含所有 RC4 密码,但省略没有身份验证的密码
openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'
包含所有具有 RSA 身份验证的密码,但省略没有加密的密码。
openssl ciphers -v 'RSA:!COMPLEMENTOFALL'
将安全级别设置为 2 并显示与级别 2 一致的所有密码
openssl ciphers -s -v 'ALL:@SECLEVEL=2'
另请参见
openssl(1)、openssl-s_client(1)、openssl-s_server(1)、ssl(7)
历史
-V 选项在 OpenSSL 1.0.0 中添加。
-stdname 仅在 OpenSSL 构建时启用了跟踪(enable-ssl-trace 参数传递给 Configure)且 OpenSSL 版本早于 1.1.1 时可用。
-convert 选项在 OpenSSL 1.1.1 中添加。
在 OpenSSL 3.2.0 中添加了对密码列表中标准 IANA 名称的支持。
版权
版权所有 2000-2024 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0(“许可证”)授权。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。