OpenSSL

密码学和SSL/TLS工具包

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

参见"openssl(1)中的提供程序选项"provider(7)property(7)

-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表示包含SHA1DES算法的所有密码套件。

每个密码字符串前面可以可选地加上!-+字符。

如果使用!,则密码将永久从列表中删除。即使明确声明,已删除的密码也永远不会重新出现在列表中。

如果使用-,则密码将从列表中删除,但某些或所有密码可以通过以后的选项再次添加。

如果使用+,则密码将移至列表的末尾。此选项不会添加任何新密码,它只是移动匹配的现有密码。

如果没有这些字符,则该字符串将仅解释为要追加到当前首选项列表的密码列表。如果列表包含任何已存在的密码,则将忽略它们:也就是说,它们不会移动到列表的末尾。

密码字符串@STRENGTH可以在任何位置使用,以便根据加密算法密钥长度对当前密码列表进行排序。

密码字符串@SECLEVEL=n可以在任何位置使用,以将安全级别设置为nn应为0到5之间的数字(含)。有关每个级别的含义,请参见SSL_CTX_set_security_level(3)

密码列表可以在前面加上DEFAULT关键字,该关键字启用如下定义的默认密码列表。与密码字符串不同,此前缀不能与其他字符串使用+字符组合。例如,DEFAULT+DES无效。

默认列表的内容在编译时确定,通常对应于ALL:!COMPLEMENTOFDEFAULT:!eNULL

密码字符串

以下是所有允许的密码字符串及其含义的列表。

COMPLEMENTOFDEFAULT

包含在ALL中但默认情况下未启用的密码。目前,这包括所有RC4和匿名密码。请注意,此规则不涵盖eNULLeNULL不包含在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开始,所有这些密码套件均已删除。

eNULLNULL

“NULL”密码,即不提供任何加密的密码。由于这些密码根本不提供任何加密并且存在安全风险,因此不会通过DEFAULTALL密码字符串启用它们。在使用kRSAaECDSA等较低级别的基元构建密码列表时要小心,因为这些基元与eNULL密码重叠。如有疑问,请在密码列表中包含!eNULL

aNULL

不提供身份验证的密码套件。这目前是匿名DH算法和匿名ECDH算法。这些密码套件容易受到“中间人”攻击,因此不建议使用。这些密码套件已从DEFAULT密码中排除,但包含在ALL密码中。在使用kDHEAES等较低级别的基元构建密码列表时要小心,因为这些基元与aNULL密码重叠。如有疑问,请在密码列表中包含!aNULL

kRSAaRSARSA

使用RSA密钥交换或身份验证的密码套件。RSAkRSA的别名。

kDHrkDHdkDH

使用静态DH密钥协商和由具有RSA和DSS密钥的CA签名的DH证书的密码套件,或分别使用其中一个。在OpenSSL 1.1.0中,所有这些密码套件均已删除。

kDHEkEDHDH

使用短暂DH密钥协商的密码套件,包括匿名密码套件。

DHEEDH

使用经过身份验证的短暂DH密钥协商的密码套件。

ADH

匿名DH密码套件,请注意,这并不包括匿名椭圆曲线DH(ECDH)密码套件。

kEECDHkECDHEECDH

使用短暂ECDH密钥协商的密码套件,包括匿名密码套件。

ECDHEEECDH

使用经过身份验证的短暂ECDH密钥协商的密码套件。

AECDH

匿名椭圆曲线Diffie-Hellman密码套件。

aDSSDSS

使用DSS身份验证的密码套件,即证书包含DSS密钥。

aDH

有效地使用DH身份验证的密码套件,即证书包含DH密钥。在OpenSSL 1.1.0中,所有这些密码套件均已删除。

aECDSAECDSA

使用ECDSA身份验证的密码套件,即证书包含ECDSA密钥。

TLSv1.2TLSv1.0SSLv3

列出仅在至少TLS v1.2、TLS v1.0或SSL v3.0中支持的密码套件。注意:没有特定于TLS v1.1的密码套件。由于这只是最低版本,因此,例如,如果协商TLSv1.0,则TLSv1.0和SSLv3.0密码套件都可用。

注意:这些密码字符串不会更改SSL或TLS的协商版本,它们只会影响可用密码套件的列表。

AES128AES256AES

使用128位AES、256位AES或128位或256位AES的密码套件。

AESGCM

伽罗瓦计数器模式(GCM)中的AES:这些密码套件仅在TLS v1.2中受支持。

AESCCMAESCCM8

密码块链接-消息身份验证模式(CCM)中的AES:这些密码套件仅在TLS v1.2中受支持。AESCCM引用使用16和8八位组完整性校验值(ICV)的CCM密码套件,而AESCCM8仅引用8八位组ICV。

ARIA128ARIA256ARIA

使用128位ARIA、256位ARIA或128位或256位ARIA的密码套件。

CAMELLIA128CAMELLIA256CAMELLIA

使用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的密码套件。

SHA1SHA

使用SHA1的密码套件。

SHA256SHA384

使用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)的密码套件。

kPSKkECDHEPSKkDHEPSKkRSAPSK

使用PSK密钥交换、ECDHE_PSK、DHE_PSK或RSA_PSK的密码套件。

aPSK

使用PSK身份验证的密码套件(目前除RSA_PSK之外的所有PSK模式)。

SUITEB128SUITEB128ONLYSUITEB192

分别启用使用 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_DESSSL_3DESSSL_RC2SSL_IDEASSL_AES128SSL_AES256SSL_CAMELLIA128SSL_CAMELLIA256SSL_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 中获取副本。