Java 安全标准算法名称

Java SE Security API 需要并使用一组用于算法、证书和密钥库类型的标准名称。您可以在本文档中找到标准算法名称的列表。

请注意,SE 实现可能支持本规范中未定义的其他算法。作为最佳实践,如果算法在本规范的后续版本中定义并且早期规范的实现支持该算法,则该实现应使用在后续规范中定义的算法的标准名称。每个 SE 实现还应记录其支持的算法或在后续更新版本中添加支持。这些算法可能记录在发行说明或单独的文档中,例如 JDK 供应商文档

在某些情况下,命名约定用于形成未明确列出的名称,以促进提供程序实现之间的名称一致性。尖括号中的项目(例如 <digest><encryption> )是占位符,将被特定的消息摘要、加密算法或其他名称替换。

Note: 标准名称不区分大小写。

Note: JDK 供应商文档 包含特定的提供程序和算法信息。

AlgorithmParameterGenerator算法

在生成 AlgorithmParameterGenerator 实例时可以指定本节中的算法名称。

算法名称 Description
DiffieHellman 用于 Diffie-Hellman 算法的参数。
DSA 用于数字签名算法的参数。

AlgorithmParameters算法

生成 AlgorithmParameters 实例时可以指定本节中的算法名称。

算法名称 Description
AES 用于 AES 算法的参数。
Blowfish 用于 Blowfish 算法的参数。
ChaCha20-Poly1305 用于 ChaCha20-Poly1305 算法的参数,如 RFC 8103 中所定义。
DES 用于 DES 算法的参数。
德塞德 用于 DESede 算法的参数。
DiffieHellman 用于 DiffieHellman 算法的参数。
DSA 用于数字签名算法的参数。
EC 用于 EC 算法的参数。
GCM 与 Galois/Counter Mode (GCM) 密码模式一起使用的参数,如 RFC 5084 中所定义。
OAEP 用于 OAEP 算法的参数。
PBEWith<digest>和<encryption> PBEWith<prf>和<encryption> 用于 PKCS #5 基于密码的加密的参数,其中 <digest> 是消息摘要,<prf> 是伪随机函数,<encryption> 是加密算法。示例:PBEWithMD5AndDESPBEWithHmacSHA256AndAES
PBE 用于 PBE 算法的参数。 This name should not be used, in preference to the more specific PBE-algorithm names previously listed.
RC2 用于 RC2 算法的参数。
RSASSA-PSS 用于 RSASSA-PSS 签名算法的参数。

CertificateFactory 类型

可以在生成 CertificateFactory 的实例时指定本节中的类型。

Type Description
X.509 X.509 中定义的证书类型,也在 RFC 5280 中指定。

CertPath 编码

以下编码可以传递给 CertPathgetEncoded 方法或 CertificateFactorygenerateCertPath(InputStream inStream, String encoding) 方法。

编码 Description
PKCS7 PKCS #7 SignedData 对象,唯一重要的字段是证书。特别是,签名和内容将被忽略。如果不存在证书,则假定为零长度 CertPath

Warning: PKCS #7 不维护证书路径中的证书顺序。这意味着如果将 CertPath 转换为 PKCS #7 编码字节然后再转换回来,证书的顺序可能会改变,从而可能使 CertPath 无效。用户应该意识到这种行为。

有关 PKCS #7 的详细信息,请参阅 PKCS #7:加密消息语法
PkiPath ASN.1 DER 编码的证书序列,定义如下:

PkiPath ::= SEQUENCE OF Certificate

在序列中,证书的顺序是第一个证书的主题是第二个证书的颁发者,依此类推。 PkiPath 中的每个证书都应是唯一的。 PkiPath 中的 Certificate 值中的证书不得多次出现。 PkiPath 格式在针对 X.509 (2000) 的缺陷报告 279 中定义,并被纳入 ITU-T Recommendation X.509 (2000) 的技术勘误表 1 (DTC 2)。有关详细信息,请参阅 ITU网站

CertPathBuilder算法

可以在生成 CertPathBuilder 实例时指定本节中的算法。

算法名称 Description
PKIX ValidationAlgorithm 服务属性 中定义的 PKIX 认证路径验证算法。 CertPathBuilder 实施此算法的实例的输出是根据 PKIX 验证算法验证的证书路径。

CertPathValidator算法

本节中的算法可以在生成 CertPathValidator 的实例时指定。

算法名称 Description
PKIX ValidationAlgorithm 服务属性 中定义的 PKIX 认证路径验证算法。

CertStore 类型

在生成 CertStore 的实例时可以指定本节中的类型。

Type Description
Collection Collection 检索证书和 CRL 的 CertStore 实现。这种类型的 CertStore 在应用程序中特别有用,其中证书或 CRL 在包或某种附件中接收,例如带有签名的电子邮件消息或在 SSL 协商中。
LDAP 一个 CertStore 实现,它使用 LDAPSchema 服务属性 中定义的模式从 LDAP 目录中获取证书和 CRL。

Cipher算法

在请求 Cipher 的实例时,可以将以下名称指定为 转型 中的 algorithm 组件。

Note: 建议使用完全指定算法、模式和填充的转换。如果不这样做,提供商将使用默认的模式和填充,这可能不符合您应用程序的安全要求。

算法名称 Description
AES NIST 在 FIPS 197 中指定的高级加密标准。 AES 也被 Joan Daemen 和 Vincent Rijmen 称为 Rijndael 算法,是一种 128 位块密码,支持 128、192 和 256 位密钥。

要使用只有一种有效密钥大小的 AES 密码,请使用格式 AES_<n>,其中 <n> 可以是 128、192 或 256。
AESWrap RFC 3394 中描述的 AES 密钥包装算法
NIST 特别出版物 SP 800-38F
这与使用 KW 模式和 NoPadding 指定 AES 密码相同。要使用只有一种有效密钥大小的 AESWrap 密码,请使用 AESWrap_<n> 格式,其中 <n> 可以是 128、192 或 256。
AESWrapPad RFC 5649 和中描述的 AES 密钥包装算法
NIST 特别出版物 SP 800-38F .
这与使用 KWP 模式和 NoPadding 指定 AES 密码相同。要使用只有一种有效密钥大小的 AESWrapPad 密码,请使用 AESWrapPad_<n> 格式,其中 <n> 可以是 128、192 或 256。
ARCFOUR 流密码被认为可以与 Ron Rivest 开发的 RC4 密码完全互操作。有关详细信息,请参阅 K. Kaukonen 和 R. Thayer,“流密码加密算法‘ Arcfour ’”,Internet 草案(已过期)。
Blowfish Blowfish块密码 由 Bruce Schneier 设计。
恰恰20 RFC 7539 中定义的 ChaCha20 流密码。
ChaCha20-Poly1305 AEAD 模式下的 ChaCha20 密码使用 Poly1305 验证器,如 RFC 7539 中所定义。
DES FIPS PUB 46-3 中描述的数字加密标准。
德塞德 三重 DES 加密(也称为 DES-EDE、3DES 或三重 DES)。数据使用 DES 算法加密三次。首先用第一个子密钥加密,然后用第二个子密钥解密,最后用第三个子密钥加密。
DESedeWrap RFC 3217 中描述的 DESede 密钥包装算法。
ECIES 椭圆曲线综合加密方案
PBEWith<digest>和<encryption> PBEWith<prf>和<encryption> PKCS #5 中定义的基于密码的加密算法,使用指定的消息摘要 (<digest>) 或伪随机函数 (<prf>) 和加密算法 (<encryption>)。示例:

PBEWithMD5AndDESPKCS #5:基于密码的加密规范,版本 2.1 中定义的 PBES1 基于密码的加密算法。请注意,此算法暗示 CBC 作为密码模式,PKCS5填充 作为填充方案,不能与任何其他密码模式或填充方案一起使用。

PBEWithHmacSHA256AndAES_128PKCS #5:基于密码的加密规范,版本 2.1 中定义的 PBES2 基于密码的加密算法。
RC2 Ron Rivest 为 RSA Data Security, Inc. 开发的可变密钥大小加密算法。
RC4 由 Ron Rivest 为 RSA Data Security, Inc. 开发的可变密钥大小加密算法(参见 ARCFOUR 之前的注解。)
RC5 Ron Rivest 为 RSA Data Security, Inc. 开发的可变密钥大小加密算法。
RSA PKCS #1 v2.2 中定义的 RSA 加密算法。

Cipher 算法模式

在请求 Cipher 的实例时,可以将以下名称指定为 转型 中的 mode 组件。

算法名称 Description
NONE 没有模式。
加拿大广播公司 密码块链接模式,如 FIPS PUB 81 中所定义。
CCM 计数器/CBC 模式,如 NIST 特别出版物 SP 800-38C 中所定义。
循环流化床,循环流化床x 密码反馈模式,如 FIPS PUB 81 中所定义。

使用 CFB 和 OFB 等模式,块密码可以以小于密码的实际块大小的单元加密数据。当请求这种模式时,您可以选择指定一次要处理的位数,方法是将此数字附加到模式名称,如“DES/CFB8/NoPadding”和“DES/OFB32/PKCS5Padding”转换中所示。如果没有指定这样的数字,则使用特定于提供者的默认值。 (例如,SunJCE 提供程序为 DES 使用默认的 64 位。)因此,可以使用 8 位模式(例如 CFB8 或 OFB8)将块密码转换为面向字节的流密码。
CTR OFB 的简化,计数器模式将输入块更新为计数器。
CTS 密文窃取,如 Bruce Schneier 的书 Applied Cryptography-Second Edition 中所述,John Wiley and Sons,1996 年。
ECB Electronic Codebook Mode,如FIPS PUB 81中所定义(通常这种模式不应用于多个数据块)。
GCM 伽罗瓦/计数器模式,如 NIST 特别出版物 SP 800-38D 中所定义。
KW Key Wrap (KW) 模式,如 RFC 3394NIST 特别出版物 SP 800-38F 中所定义。
KWP Key Wrap With Padding (KWP) 模式,如 RFC 5649NIST 特别出版物 SP 800-38F 中所定义。
OFB, OFBx 输出反馈模式,如 FIPS PUB 81 中所定义。

使用 CFB 和 OFB 等模式,块密码可以以小于密码的实际块大小的单元加密数据。当请求这种模式时,您可以选择指定一次要处理的位数,方法是将此数字附加到模式名称,如“DES/CFB8/NoPadding”和“DES/OFB32/PKCS5Padding”转换中所示。如果没有指定这样的数字,则使用特定于提供者的默认值。 (例如,SunJCE 提供程序为 DES 使用默认的 64 位。)因此,可以使用 8 位模式(例如 CFB8 或 OFB8)将块密码转换为面向字节的流密码。
PCBC 传播密码块链接,如 Kerberos V4 所定义。

Cipher 算法填充

在请求 Cipher 的实例时,可以将以下名称指定为 转型 中的 padding 组件。

算法名称 Description
NoPadding 没有填充。
ISO10126填充 块密码的这种填充在 ISO 10126 标准(现已撤回)中进行了描述。
OAEPPadding、OAEPWith<digest>和<mgf>Padding 最佳非对称加密。 PKCS #1 中定义的填充方案,其中 <digest> 应替换为消息摘要,<mgf> 应替换为掩码生成函数。示例:OAEPWithMD5AndMGF1PaddingOAEPWithSHA-512AndMGF1Padding

如果使用 OAEPPadding,则使用 javax.crypto.spec.OAEPParameterSpec 对象初始化 Cipher 对象以提供 OAEPPadding 所需的值。
PKCS1填充 PKCS #1 v2.2 中描述的填充方案,与 RSA 算法一起使用。
PKCS5Padding PKCS #5:基于密码的加密规范,版本 2.1 中描述的填充方案。
SSL3填充 SSL 协议版本 3.0,1996 年 11 月 18 日,第 5.2.3.2 节(CBC 块密码)中定义的填充方案:

block-ciphered struct {
    opaque content[SSLCompressed.length];
    opaque MAC[CipherSpec.hash_size];
    uint8 padding[GenericBlockCipher.padding_length];
    uint8 padding_length;
} GenericBlockCipher;

GenericBlockCipher 实例的大小必须是块密码块长度的倍数。始终存在的填充长度有助于填充,这意味着如果:

sizeof(content) + sizeof(MAC) % block_length = 0,

填充必须是 (block_length - 1) 字节长,因为存在 padding_length

这使得填充方案类似于(但不完全)PKCS5Padding,其中填充长度在填充中编码(范围从 1 到 block_length )。使用 SSL 方案,sizeof(padding) 编码在始终存在的 padding_length 中,因此范围从 0 到 block_length-1

Configuration 类型

在生成 javax.security.auth.login.Configuration 的实例时可以指定此部分中的类型。

Type Description
JavaLoginConfig SUN 提供程序的默认配置实现,如 配置类规范 中所述。此类型接受 java.security.URIParameter 作为有效的 Configuration.Parameter 类型。如果未指定此参数,则从 ConfigFile 类规范中描述的源加载配置信息。如果指定了此参数,则仅从指定的 URI 加载配置信息。

豁免机制

以下豁免机制名称可以在权限策略文件中指定,该文件随被视为“豁免”密码限制的应用程序一起提供。

算法名称 Description
KeyEscrow 一种具有备份解密能力的加密系统,允许授权人(用户、组织的官员和政府官员)在特定规定条件下,借助一个或多个持有特殊数据恢复的可信方提供的信息来解密密文键。
KeyRecovery 一种获取用于锁定加密数据的密钥的方法。一种用途是在发生灾难时提供对公司自己的加密信息的故障安全访问。
KeyWeakening 一种可以托管或恢复部分密钥的方法。

GSSAPI 机制

使用 GSSAPI 时可以指定以下机制。请注意,指定对象标识符 (OID) 而不是名称以符合 GSSAPI 标准。

机制OID Description
1.2.840.113554.1.2.2 RFC 4121 中定义的 Kerberos v5 GSS-API 机制。
1.3.6.1.5.5.2 RFC 4178 中定义的简单且受保护的 GSS-API 协商 (SPNEGO) 机制。

Key 编码

Key.getFormat()EncodedKeySpec.getFormat() 返回的主要编码格式的名称。

编码 Description
PKCS#1 RSAPrivateKey 的 ASN.1 数据格式在 PKCS #1 中定义。
PKCS#8 PrivateKeyInfo 的 ASN.1 数据格式,如 PKCS #8 中所定义。
RAW 原始密钥字节。
X.509 SubjectPublicKeyInfo 的 ASN.1 数据格式,由 X.509 定义,也在 RFC 5280 中指定。

KeyAgreement算法

请求 KeyAgreement 的实例时,可以指定以下算法名称。

算法名称 Description
DiffieHellman PKCS #3 中定义的 Diffie-Hellman 密钥协议:Diffie-Hellman 密钥协议标准,RSA 实验室,1.4 版,1993 年 11 月。
ECDH ANSI X9.63 中定义的椭圆曲线 Diffie-Hellman,如 RFC 3278 中所述:“在加密消息语法 (CMS) 中使用椭圆曲线加密 (ECC) 算法。”
ECMQV 椭圆曲线 Menezes-Qu-Vanstone。
XDH Diffie-Hellman 密钥协议与 RFC 7748 中定义的椭圆曲线。
X25519 Diffie-Hellman 密钥协议与 RFC 7748 中定义的 Curve25519。
X448 RFC 7748 中定义的与 Curve448 的 Diffie-Hellman 密钥协议。

KeyFactory算法

生成 KeyFactory 实例时可以指定本节中的算法名称。

(Except as noted, these classes create keys for which Key.getAlgorithm() returns the standard algorithm name.)

算法名称 Description
DiffieHellman Diffie-Hellman KeyAgreement 算法的密钥。

Note: key.getAlgorithm() 将返回“DH”而不是“DiffieHellman”。
DSA 数字签名算法的密钥。
EC 椭圆曲线算法的键。
EdDSA RFC 8032 中定义的具有椭圆曲线的爱德华兹曲线签名算法的密钥。
Ed25519 RFC 8032 中定义的带有 Ed25519 的爱德华兹曲线签名算法的密钥。
Ed448 RFC 8032 中定义的 Ed448 爱德华兹曲线签名算法的密钥。
RSA RSA 算法的密钥(签名/密码)。
RSASSA-PSS RSASSA-PSS 算法的密钥(签名)。
XDH RFC 7748 中定义的椭圆曲线的 Diffie-Hellman 密钥协议的密钥。
X25519 RFC 7748 中定义的 Curve25519 的 Diffie-Hellman 密钥协议的密钥。
X448 RFC 7748 中定义的与 Curve448 的 Diffie-Hellman 密钥协议的密钥。

KeyGenerator算法

请求 KeyGenerator 的实例时,可以指定以下算法名称。

(These classes generate keys for which Key.getAlgorithm() returns the standard algorithm name.)

算法名称 Description
AES 用于 AES 算法的密钥生成器。
ARCFOUR 用于 ARCFOUR (RC4) 算法的密钥生成器。
Blowfish 用于 Blowfish 算法的密钥生成器。
恰恰20 用于 ChaCha20 和 ChaCha20-Poly1305 算法的密钥生成器。
DES 用于 DES 算法的密钥生成器。
德塞德 用于 DESede(三重 DES)算法的密钥生成器。
HmacMD5 用于 HmacMD5 算法的密钥生成器。
HmacSHA1
HmacSHA224
HmacSHA256
HmacSHA384
HmacSHA512
HmacSHA512/224
HmacSHA512/256
HmacSHA3-224
HmacSHA3-256
HmacSHA3-384
HmacSHA3-512
用于各种 HmacSHA 算法的密钥生成器。
RC2 用于 RC2 算法的密钥生成器。

KeyManagerFactory算法

生成 KeyManagerFactory 实例时可以指定的算法名称。

算法名称 Description
PKIX X509ExtendedKeyManager 的工厂,根据 RFC 5280 或其后继者中的 IETF PKIX 工作组定义的规则管理用于本地端身份验证的基于 X.509 证书的密钥对。 KeyManagerFactory 必须支持使用类 javax.net.ssl.KeyStoreBuilderParameters 进行初始化。

KeyPairGenerator算法

生成 KeyPairGenerator 实例时可以指定的算法名称。

(Except as noted, these classes create keys for which Key.getAlgorithm() returns the standard algorithm name.)

算法名称 Description
DiffieHellman 为 Diffie-Hellman KeyAgreement 算法生成密钥对。

Note: key.getAlgorithm() 将返回“DH”而不是“DiffieHellman”。
DSA 为数字签名算法生成密钥对。
RSA 为 RSA 算法(签名/密码)生成密钥对。
RSASSA-PSS 为 RSASSA-PSS 签名算法生成密钥对。
EC 为椭圆曲线算法生成密钥对。
EdDSA 使用 RFC 8032 中定义的椭圆曲线为爱德华兹曲线签名算法生成密钥对。
Ed25519 使用 RFC 8032 中定义的 Ed25519 为爱德华兹曲线签名算法生成密钥对。
Ed448 使用 RFC 8032 中定义的 Ed448 为爱德华兹曲线签名算法生成密钥对。
XDH 使用 RFC 7748 中定义的椭圆曲线为 Diffie-Hellman 密钥协议生成密钥对。
X25519 根据 RFC 7748 中的定义,为与 Curve25519 的 Diffie-Hellman 密钥协议生成密钥对。
X448 根据 RFC 7748 中的定义,为与 Curve448 的 Diffie-Hellman 密钥协议生成密钥对。

KeyStore 类型

生成 KeyStore 实例时可以指定本节中的类型。

Type Description
杰克斯 SunJCE 提供商提供的专有密钥库实现。
jks SUN 提供商提供的专有密钥库实现。
dks 域密钥库是作为单个逻辑密钥库呈现的密钥库的集合。它由DomainLoadStoreParameter类中描述的配置数据指定。
pkcs11 由 PKCS #11 令牌支持的密钥库。
pkcs12 PKCS #12 中定义的个人身份信息的传输语法。

Mac算法

请求 Mac 的实例时,可以指定以下算法名称。

算法名称 Description
HmacMD5 RFC 2104 中定义的 HMAC-MD5 键控哈希算法:“HMAC:用于消息身份验证的键控哈希”(1997 年 2 月)。
HmacSHA1
HmacSHA224
HmacSHA256
HmacSHA384
HmacSHA512
HmacSHA512/224
HmacSHA512/256
HmacSHA3-224
HmacSHA3-256
HmacSHA3-384
HmacSHA3-512
HmacSHA* 算法如 RFC 2104“HMAC:消息认证的密钥散列”(1997 年 2 月)和 SHA-* 以及 SHA、SHA-2 和 SHA-3 摘要算法系列所定义。
PBEWith<mac> PKCS #5:基于密码的加密规范,版本 2.1 中定义的 PBMAC1 基于密码的消息身份验证方案,其中 <mac> 是消息身份验证代码算法名称。示例:PBEWithHmacSHA256
HmacPBESHA1
HmacPBESHA224
HmacPBESHA256
HmacPBESHA384
HmacPBESHA512
HmacPBESHA512/224
HmacPBESHA512/256
RFC 7292 的附录 B.4 中定义的 HMAC 算法:“PKCS #12:个人信息交换语法 v1.1”(2014 年 7 月)。

MessageDigest 算法

生成 MessageDigest 实例时可以指定的算法名称。

算法名称 Description
MD2 RFC 1319 中定义的 MD2 消息摘要算法。
MD5 RFC 1321 中定义的 MD5 消息摘要算法。
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
SHA-512/224
SHA-512/256
FIPS PUB 180-4 中定义的安全哈希算法。

SHA-1 产生一个 160 位的摘要。
SHA-224 生成 224 位摘要。
SHA-256 产生一个 256 位的摘要。
SHA-384 生成 384 位摘要。
SHA-512 生成 512 位摘要。
SHA-512/224 生成 224 位摘要。
SHA-512/256 生成 256 位摘要。
SHA3-224
SHA3-256
SHA3-384
SHA3-512
FIPS PUB 202 中定义的基于排列的哈希和可扩展输出函数。输入消息的长度可以变化;输出摘要的长度是固定的。

SHA3-224 生成 224 位摘要。
SHA3-256 产生一个 256 位的摘要。
SHA3-384 生成 384 位摘要。
SHA3-512 生成 512 位摘要。

ParameterSpec 名字

java.security.spec 包中的 NamedParameterSpec 类可用于使用以下名称指定一组参数。

Name Description
X25519 使用 RFC 7748 中定义的 X25519 标量乘法函数的椭圆曲线加密。
X448 使用 RFC 7748 中定义的 X448 标量乘法函数的椭圆曲线加密。
Ed25519 使用 RFC 8032 中定义的 edwards25519 曲线的椭圆曲线签名方案。
Ed448 使用 RFC 8032 中定义的 edwards448 曲线的椭圆曲线签名方案。

java.security.spec 包中的 ECGenParameterSpec 类可用于使用以下名称指定一组椭圆曲线参数。

Name Description
教派163k1
教派163r1
sect163r2
教派193r1
教派193r2
教派233k1
教派233r1
教派239k1
教派283k1
教派283r1
教派409k1
教派409r1
教派571k1
教派571r1
secp160k1
secp160r1
secp160r2
secp192k1
secp192r1
secp224k1
secp224r1
secp256k1
secp256r1
secp384r1
secp521r1
SECG,SEC 2:推荐的椭圆曲线域参数 中指定的命名曲线。
脑池P256r1
脑池P384r1
brainpoolP512r1
RFC 5639 中定义的命名曲线。

Policy 类型

在生成 Policy 的实例时可以指定此部分中的类型。

Type Description
JavaPolicy SUN 提供程序的默认策略实现,如 Java Platform, Standard Edition Security Developer's Guide默认策略实施和策略文件语法 部分所述。此类型接受 java.security.URIParameter 作为有效的 Policy.Parameter 类型。如果未指定此参数,则将从 Java Platform, Standard Edition Security Developer's Guide默认策略文件位置 部分中描述的源加载策略信息。如果指定了此参数,则仅从指定的 URI 加载策略信息。

SaslClient机制

在生成 SaslClient 的实例时可以指定本节中的机制。

机制 Description
CRAM-MD5 参见 RFC 2195。此机制支持哈希用户名/密码身份验证方案。
DIGEST-MD5 参见 RFC 2831。该机制定义了如何将 HTTP 摘要身份验证用作 SASL 机制。
EXTERNAL 参见 RFC 2222。此机制从外部通道(例如 TLS 或 IPsec)获取身份验证信息。
GSSAPI 参见 RFC 2222。此机制使用 GSSAPI 获取身份验证信息。它支持 Kerberos v5 身份验证。
NTLM 参见 MS-NLMP。此机制支持 NTLM 身份验证方案。
PLAIN 参见 RFC 2595。该机制支持明文用户名/密码认证。

SaslServer机制

在生成 SaslServer 的实例时可以指定本节中的机制。

机制 Description
CRAM-MD5 参见 RFC 2195。此机制支持哈希用户名/密码身份验证方案。
DIGEST-MD5 参见 RFC 2831。该机制定义了如何将 HTTP 摘要身份验证用作 SASL 机制。
GSSAPI 参见 RFC 2222。此机制使用 GSSAPI 获取身份验证信息。它支持 Kerberos v5 身份验证。
NTLM 参见 MS-NLMP。此机制支持 NTLM 身份验证方案。

SecretKeyFactory算法

请求 SecretKeyFactory 的实例时,可以指定以下算法名称。

(These classes create keys for which Key.getAlgorithm() returns the standard algorithm name.)

算法名称 Description
AES 构造用于 AES 算法的秘密密钥。
ARCFOUR 构造用于 ARCFOUR 算法的秘密密钥。
恰恰20 构造用于 ChaCha20 和 ChaCha20-Poly1305 算法的密钥。
DES 构造用于 DES 算法的秘密密钥。
德塞德 构造用于 DESede (Triple-DES) 算法的秘密密钥。
PBEWith<摘要>和<加密>
PBEWith<prf>和<加密>
用于 PKCS #5 基于密码的加密的密钥工厂,其中 <digest> 是消息摘要,<prf> 是伪随机函数,<encryption> 是加密算法。示例:

PBEWithMD5AndDES(PKCS #5,PBES1 加密方案),
PBEWithHmacSHA256AndAES_128(PKCS #5,PBES2 加密方案)

Note: 这些都只使用每个密码字符的低 8 位。
PBKDF2With<prf> PKCS #5:基于密码的加密规范,版本 2.1 中定义的基于密码的密钥派生算法使用指定的伪随机函数 (<prf>)。例子:
PBKDF2WithHmacSHA256 .

SecureRandom 号码生成算法

生成 SecureRandom 实例时可以指定本节中的算法名称。

算法名称 Description
原生PRNG 从底层本机操作系统获取随机数。没有断言生成这些数字的阻塞性质。
NativePRNGBlocking 从底层本机操作系统获取随机数,必要时进行阻塞。例如,类 UNIX 系统上的 /dev/random
NativePRNGNonBlocking 从底层本机操作系统获取随机数,不阻塞以防止应用程序过度停顿。例如,类 UNIX 系统上的 /dev/urandom
PKCS11 从底层安装和配置的 PKCS #11 库中获取随机数。
DRBG 使用 NIST SP 800-90Ar1 中定义的 DRBG 机制的算法。
SHA1PRNG SUN 提供商提供的伪随机数生成 (PRNG) 算法的名称。该算法使用 SHA-1 作为 PRNG 的基础。它计算一个真实随机种子值的 SHA-1 哈希值,该种子值与一个 64 位计数器相连,每个操作递增 1。从 160 位 SHA-1 输出中,仅使用了 64 位。
Windows-PRNG 从底层 Windows 操作系统获取随机数。

服务属性

本节中的属性用于加密服务。服务属性可以用作选择提供者的过滤器。

加密服务始终与特定算法或类型相关联。例如,数字签名服务始终与特定算法(例如 DSA)相关联,CertificateFactory 服务始终与特定证书类型(例如 X.509)相关联。

Note:属性名称和值不区分大小写。

Attribute Description
KeySize 提供程序支持的加密服务的最大密钥大小。
ImplementedIn 加密服务的实现是由软件还是硬件完成的。该属性的值为“软件”或“硬件”。
LDAPSchema 定义 LDAP 架构的规范名称,LDAP CertStore 的实现使用该架构来检索证书和 CRL。 RFC 应指定为“RFC#”(例如:“RFC2587”),Internet Drafts 应指定为草稿的名称。 CertStore 的所有 LDAP 实现都应该为此属性提供一个值。
SupportedKeyClasses 加密服务支持的密钥类列表。该值是由竖线(“|”)分隔的完全限定类名的列表。例如,当 Cipher 服务提供此属性时,该值指示调用者应使用的键的种类。
SupportedKeyFormats 加密服务支持的密钥格式列表。该值是由竖线(“|”)分隔的密钥格式名称列表。可能的密钥格式名称包括 按键编码 部分中列出的名称。
SupportedModes 加密服务支持的模式列表。该值是由竖线(“|”)分隔的密码算法模式名称列表。可能的模式名称包括 [Cipher Algorithm Modes] (#cipher-algorithm-modes) 部分中列出的那些。
SupportedPaddings 加密服务支持的填充列表。该值是由竖线(“|”)分隔的填充名称列表。可能的填充名称包括 [Cipher Algorithm Paddings] (#cipher-algorithm-paddings) 部分中列出的名称。
ThreadSafe SecureRandom 实现是否有其 SecureRandomSpi 引擎方法实现线程安全。该属性的值为“真”或“假”。
ValidationAlgorithm 定义 CertPathBuilderCertPathValidator 实现支持的证书路径验证算法的规范名称。 RFC 应指定为“RFC#”(例如:“RFC5280”),Internet Drafts 应指定为草稿名称(例如:“draft-ietf-pkix-rfc2560bis-01.txt”)。指定为 Security.getProviders 方法的选择标准的该属性的值将使用 String.equalsIgnoreCase 方法进行比较。 CertPathBuilderCertPathValidator 的所有 PKIX 实现都应该为此属性提供一个值。

例如,

  map.put("KeyPairGenerator.DSA",
      "sun.security.provider.DSAKeyPairGenerator");
  map.put("KeyPairGenerator.DSA KeySize", "2048");
  map.put("KeyPairGenerator.DSA ImplementedIn", "Software"); 

Signature算法

生成 Signature 实例时可以指定本节中的算法名称。

算法名称 Description
EdDSA RFC 8032 中定义的爱德华兹曲线签名算法。
Ed25519 RFC 8032 中定义的带有 Ed25519 的爱德华兹曲线签名算法。
Ed448 RFC 8032 中定义的带有 Ed448 的爱德华兹曲线签名算法。
NONEwithRSA RSA 签名算法不使用任何摘要算法,仅使用 PKCS #1 v2.2 中定义的 RSASP1/RSAVP1 原语。
MD2withRSA
MD5和RSA
RSA 签名算法使用 MD2/MD5 摘要和 PKCS #1 v2.2 中定义的 RSASSA-PKCS1-v1_5 签名方案。
SHA1与RSA
SHA224 和 RSA
SHA256 和 RSA
SHA384 和 RSA
SHA512与RSA
SHA512/224withRSA
SHA512/256withRSA
SHA3-224 和 RSA
SHA3-256 和 RSA
SHA3-384 和 RSA
SHA3-512 和 RSA
RSA 签名算法使用 SHA-* 摘要和 PKCS #1 v2.2 中定义的 RSASSA-PKCS1-v1_5 签名方案。
RSASSA-PSS 使用 [PKCS #1 v2.2] (https://tools.ietf.org/html/rfc8017) 中定义的 RSASSA-PSS 签名方案的签名算法。请注意,此签名算法需要在执行 RSA 操作之前提供摘要算法、salt 长度和 MGF1 算法等参数。
NONEwithDSA FIPS PUB 186-2 中定义的数字签名算法。数据的长度必须恰好为 20 个字节。该算法也称为 rawDSA。
SHA1与DSA
SHA224withDSA
SHA256withDSA
SHA384withDSA
SHA512withDSA
SHA3-224withDSA
SHA3-256withDSA
SHA3-384withDSA
SHA3-512withDSA
DSA 签名算法使用 SHA-1、SHA-2 和 SHA-3 摘要算法系列来创建和验证 FIPS PUB 186-3FIPS PUB 186-4 中定义的数字签名。
NONEwithECDSA
SHA1与ECDSA
SHA224 和 ECDSA
SHA256 和 ECDSA
SHA384 和 ECDSA
SHA512 和 ECDSA
(ECDSA)
SHA3-224 和 ECDSA
SHA3-256 和 ECDSA
SHA3-384 和 ECDSA
SHA3-512 和 ECDSA
ANSI X9.62 中定义的 ECDSA 签名算法。

Note:“ECDSA”是“SHA1withECDSA”算法的模糊名称,不应使用。应改用正式名称“SHA1withECDSA”。
NONE与DSA在P1363格式
SHA1和DSA在P1363格式
SHA224和DSA在P1363格式
SHA256和DSA在P1363格式
SHA384和DSA在P1363格式
SHA512和DSA在P1363格式
SHA3-224和DSA在P1363格式
SHA3-256和DSA在P1363格式
SHA3-384和DSA在P1363格式
SHA3-512和DSA在P1363格式
FIPS PUB 186-2、186-3 和 186-4 中定义的 DSA 签名算法以及 IEEE P1363 格式中定义的输出。这些算法的签名字节的格式是原始字节中整数 r 和 s 的串联。
NONE与ECDSA在P1363格式
SHA1和ECDSA在P1363格式
SHA224和ECDSA在P1363格式
SHA256和ECDSA在P1363格式
SHA384和ECDSA在P1363格式
SHA512和ECDSA在P1363格式
SHA3-224和ECDSA在P1363格式
SHA3-256和ECDSA在P1363格式
SHA3-384和ECDSA在P1363格式
SHA3-512和ECDSA在P1363格式
ECDSA 签名算法在 ANSI X9.62 和 FIPS PUB 186-4 中定义,输出在 IEEE P1363 格式中定义。这些算法的签名字节的格式是原始字节中整数 r 和 s 的串联。
<摘要>与<加密> 使用它来为具有特定消息摘要(例如 MD2 或 MD5)和算法(例如 RSA 或 DSA)的签名算法形成一个名称,就像本节中为明确定义的标准名称所做的那样(MD2withRSA,等等)在)。

对于 PKCS #1 v2.2 中定义的签名方案,<digest>with<encryption> 形式是不够的,可以使用 <digest>with<encryption>and<mgf> 来组成名称。此处,<mgf> 应替换为掩码生成函数,例如 MGF1。示例:MD5withRSAandMGF1

对于IEEE P1363中定义的签名格式,可以使用<digest>和<encryption>in<format>格式来组成名称。示例:SHA1withECDSAinP1363Format

SSLContext算法

生成 SSLContext 实例时可以指定本节中的算法名称。

算法名称 Description
SSL 支持某些版本的 SSL;可能支持其他 SSL/TLS 版本。
SSLv2 支持 SSL 版本 2 或更高版本;可能支持其他 SSL/TLS 版本。
SSLv3 支持 SSL 版本 3;可能支持其他 SSL/TLS 版本。
TLS 支持某些版本的 TLS;可能支持其他 SSL/TLS 版本。
TLSv1 支持RFC 2246:TLS 版本 1.0;可能支持其他 SSL/TLS 版本。
TLSv1.1 支持RFC 4346:TLS 版本 1.1;可能支持其他 SSL/TLS 版本。
TLSv1.2 支持RFC 5246:TLS 版本 1.2;可能支持其他 SSL/TLS 版本。
TLSv1.3 支持RFC 8446:TLS 版本 1.3;可能支持其他 SSL/TLS 版本。
DTLS 支持 DTLS 版本的默认提供者相关版本。
DTLSv1.0 支持RFC 4347:DTLS 版本 1.0;可能支持其他 DTLS 版本。
DTLSv1.2 支持RFC 6347:DTLS 版本 1.2;可能支持其他 DTLS 版本。

TrustManagerFactory算法

可以在生成 TrustManagerFactory 实例时指定本节中的算法名称。

算法名称 Description
PKIX X509ExtendedTrustManager 对象的工厂,根据 RFC 5280 或其后继者中 IETF PKIX 工作组定义的规则验证证书链。 TrustManagerFactory 必须支持使用类 javax.net.ssl.CertPathTrustManagerParameters 进行初始化。

XML 签名 (XMLSignatureFactory /KeyInfoFactory /TransformService ) 机制

生成 XMLSignatureFactoryKeyInfoFactoryTransformService 实例时可以指定的机制。

该机制标识了实现在内部用于解析和生成 XML 签名和 KeyInfo 结构的 XML 处理机制。另请注意,每个TransformService 实例除了支持一种机制外,还支持一种特定的变换算法。转换算法的标准名称在下一节中定义。

机制 Description
DOM 文档对象模型。

XML 签名转换 (TransformService) 算法

在生成 TransformService 的实例时可以指定本节中的算法。

Note: 指定 URI 而不是名称以与 XML 签名标准保持一致。 API 常量已为每个 URI 定义,并列在下表中每个 URI 后的括号中。

Algorithm URI Description
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (CanonicalizationMethod.INCLUSIVE ) 规范 XML(无注释) 规范化算法。
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments (CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS ) 带有注释的规范 XML 规范化算法。
http://www.w3.org/2001/10/xml-exc-c14n# (CanonicalizationMethod.EXCLUSIVE ) 独家规范 XML(无评论) 规范化算法。
http://www.w3.org/2001/10/xml-exc-c14n#WithComments (CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS ) 带有注释的独家规范 XML 规范化算法。
http://www.w3.org/2006/12/xml-c14n11 (CanonicalizationMethod.INCLUSIVE_11 ) Canonical XML 1.1(无注释) 规范化算法。
http://www.w3.org/2006/12/xml-c14n11#WithComments (CanonicalizationMethod.INCLUSIVE_11_WITH_COMMENTS ) 带有注释的规范 XML 1.1 规范化算法。
http://www.w3.org/2000/09/xmldsig#base64 (Transform.BASE64 ) Base64 变换算法。
http://www.w3.org/2000/09/xmldsig#enveloped-signature (Transform.ENVELOPED ) 信封签名 变换算法。
http://www.w3.org/TR/1999/REC-xpath-19991116 (Transform.XPATH ) XPath 变换算法。
http://www.w3.org/2002/06/xmldsig-filter2 (Transform.XPATH2 ) XPath 过滤器 2 变换算法。
http://www.w3.org/TR/1999/REC-xslt-19991116 (Transform.XSLT ) XSLT 变换算法。

JSSE 密码套件名称

下表包含标准的 JSSE 密码套件名称。随着时间的推移,各种团体向 SSL/TLS/DTLS 命名空间 添加了额外的密码套件。

一些 JSSE 密码套件名称是在 TLSv1.0 最终确定之前定义的,因此被赋予了 SSL_ 前缀。 TLS RFC 中提到的以 TLS_ 为前缀的名称在功能上等同于以 SSL_ 为前缀的 JSSE 密码套件。

密码套件代码 标准名称(IANA 名称,如果不同) 对数据报传输层协议有效 弃用(协议) 在(协议)中引入 参考
0x00,0x00 SSL_NULL_WITH_NULL_NULL IANA:TLS_NULL_WITH_NULL_NULL 是的 TLSv1.3 N/A RFC 5246
0x00,0x01 SSL_RSA_WITH_NULL_MD5 IANA:TLS_RSA_WITH_NULL_MD5 是的 TLSv1.3 N/A RFC 5246
0x00,0x02 SSL_RSA_WITH_NULL_SHA IANA:TLS_RSA_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x03 SSL_RSA_EXPORT_WITH_RC4_40_MD5 IANA:TLS_RSA_EXPORT_WITH_RC4_MD5 TLSv1.1 N/A RFC 4346 RFC 6347
0x00,0x04 SSL_RSA_WITH_RC4_128_MD5 IANA:TLS_RSA_WITH_RC4_128_MD5 TLSv1.3 N/A RFC 5246 RFC 6347
0x00,0x05 SSL_RSA_WITH_RC4_128_SHA IANA:TLS_RSA_WITH_RC4_128_SHA TLSv1.3 N/A RFC 5246 RFC 6347
0x00,0x06 SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 IANA:TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 是的 TLSv1.1 N/A RFC 4346
0x00,0x07 SSL_RSA_WITH_IDEA_CBC_SHA IANA:TLS_RSA_WITH_IDEA_CBC_SHA 是的 TLSv1.2 N/A RFC 5469
0x00,0x08 SSL_RSA_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x09 SSL_RSA_WITH_DES_CBC_SHA IANA:TLS_RSA_WITH_DES_CBC_SHA 是的 TLSv1.2 N/A RFC 5469
0x00,0x0A SSL_RSA_WITH_3DES_EDE_CBC_SHA IANA:TLS_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x0B SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x0C SSL_DH_DSS_WITH_DES_CBC_SHA IANA:TLS_DH_DSS_WITH_DES_CBC_SHA 是的 TLSv1.2 N/A RFC 5246
0x00,0x0D SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA IANA:TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x0E SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x0F SSL_DH_RSA_WITH_DES_CBC_SHA IANA:TLS_DH_RSA_WITH_DES_CBC_SHA 是的 TLSv1.2 N/A RFC 5469
0x00,0x10 SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA IANA:TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x11 SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x12 SSL_DHE_DSS_WITH_DES_CBC_SHA IANA:TLS_DHE_DSS_WITH_DES_CBC_SHA 是的 TLSv1.2 N/A RFC 5469
0x00,0x13 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA IANA:TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x14 SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x15 SSL_DHE_RSA_WITH_DES_CBC_SHA IANA:TLS_DHE_RSA_WITH_DES_CBC_SHA 是的 TLSv1.2 N/A RFC 5469
0x00,0x16 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA IANA:TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x17 SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 IANA:TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 TLSv1.1 N/A RFC 4346 RFC 6347
0x00,0x18 SSL_DH_anon_WITH_RC4_128_MD5 IANA:TLS_DH_anon_WITH_RC4_128_MD5 TLSv1.1 N/A RFC 5246 RFC 6347
0x00,0x19 SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA IANA:TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x1A SSL_DH_anon_WITH_DES_CBC_SHA IANA:TLS_DH_anon_WITH_DES_CBC_SHA 是的 TLSv1.1 N/A RFC 4346
0x00,0x1B SSL_DH_anon_WITH_3DES_EDE_CBC_SHA IANA:TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.1 N/A RFC 5246
0x00,0x1E TLS_KRB5_WITH_DES_CBC_SHA 是的 TLSv1.2 TLSv1.0 RFC 2712
0x00,0x1F TLS_KRB5_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 TLSv1.0 RFC 2712
0x00,0x20 TLS_KRB5_WITH_RC4_128_SHA TLSv1.3 TLSv1.0 RFC 2712 RFC 6347
0x00,0x21 TLS_KRB5_WITH_IDEA_CBC_SHA 是的 TLSv1.2 N/A RFC 2712
0x00,0x22 TLS_KRB5_WITH_DES_CBC_MD5 是的 TLSv1.2 N/A RFC 2712
0x00,0x23 TLS_KRB5_WITH_3DES_EDE_CBC_MD5 是的 TLSv1.3 N/A RFC 2712
0x00,0x24 TLS_KRB5_WITH_RC4_128_MD5 TLSv1.3 N/A RFC 2712 RFC 6347
0x00,0x25 TLS_KRB5_WITH_IDEA_CBC_MD5 是的 TLSv1.2 N/A RFC 2712
0x00,0x26 TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA 是的 TLSv1.1 N/A RFC 2712
0x00,0x27 TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA 是的 TLSv1.1 N/A RFC 2712
0x00,0x28 TLS_KRB5_EXPORT_WITH_RC4_40_SHA TLSv1.1 N/A RFC 2712 RFC 6347
0x00,0x29 TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 是的 TLSv1.1 N/A RFC 2712
0x00,0x2A TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 是的 TLSv1.1 N/A RFC 2712
0x00,0x2B TLS_KRB5_EXPORT_WITH_RC4_40_MD5 TLSv1.1 N/A RFC 2712 RFC 6347
0x00,0x2C TLS_PSK_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4785
0x00,0x2D TLS_DHE_PSK_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4785
0x00,0x2E TLS_RSA_PSK_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4785
0x00,0x2F TLS_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x30 TLS_DH_DSS_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x31 TLS_DH_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x32 TLS_DHE_DSS_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x33 TLS_DHE_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x34 TLS_DH_anon_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x35 TLS_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x36 TLS_DH_DSS_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x37 TLS_DH_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x38 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x39 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x3A TLS_DH_anon_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5246
0x00,0x3B TLS_RSA_WITH_NULL_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x3C TLS_RSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x3D TLS_RSA_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x3E TLS_DH_DSS_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x3F TLS_DH_RSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x40 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x41 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x42 TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x43 TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x44 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x45 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x46 TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x67 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x68 TLS_DH_DSS_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x69 TLS_DH_RSA_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x6A TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x6B TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x6C TLS_DH_anon_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x6D TLS_DH_anon_WITH_AES_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5246
0x00,0x84 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x85 TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x86 TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x87 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x88 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x89 TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5932
0x00,0x8A TLS_PSK_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4279 RFC 6347
0x00,0x8B TLS_PSK_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x8C TLS_PSK_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x8D TLS_PSK_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x8E TLS_DHE_PSK_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4279 RFC 6347
0x00,0x8F TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x90 TLS_DHE_PSK_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x91 TLS_DHE_PSK_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x92 TLS_RSA_PSK_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4279 RFC 6347
0x00,0x93 TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x94 TLS_RSA_PSK_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x95 TLS_RSA_PSK_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4279
0x00,0x96 TLS_RSA_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x97 TLS_DH_DSS_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x98 TLS_DH_RSA_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x99 TLS_DHE_DSS_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x9A TLS_DHE_RSA_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x9B TLS_DH_anon_WITH_SEED_CBC_SHA 是的 TLSv1.3 N/A RFC 4162
0x00,0x9C TLS_RSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0x9D TLS_RSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0x9E TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0x9F TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA0 TLS_DH_RSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA1 TLS_DH_RSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA2 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA3 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA4 TLS_DH_DSS_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA5 TLS_DH_DSS_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA6 TLS_DH_anon_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA7 TLS_DH_anon_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5288
0x00,0xA8 TLS_PSK_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xA9 TLS_PSK_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xAA TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xAB TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xAC TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xAD TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5487
0x00,0xAE TLS_PSK_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xAF TLS_PSK_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xB0 TLS_PSK_WITH_NULL_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xB1 TLS_PSK_WITH_NULL_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xB2 TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xB3 TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xB4 TLS_DHE_PSK_WITH_NULL_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xB5 TLS_DHE_PSK_WITH_NULL_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xB6 TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xB7 TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xB8 TLS_RSA_PSK_WITH_NULL_SHA256 是的 TLSv1.3 N/A RFC 5487
0x00,0xB9 TLS_RSA_PSK_WITH_NULL_SHA384 是的 TLSv1.3 N/A RFC 5487
0x00,0xBA TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xBB TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xBC TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xBD TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xBE TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xBF TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC0 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC1 TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC2 TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC3 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC4 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xC5 TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 是的 TLSv1.3 N/A RFC 5932
0x00,0xFF TLS_EMPTY_RENEGOTIATION_INFO_SCSV 是的 TLSv1.3 N/A RFC 5746
0x13,0x01 TLS_AES_128_GCM_SHA256 是的 N/A TLSv1.3 RFC 8446
0x13,0x02 TLS_AES_256_GCM_SHA384 是的 N/A TLSv1.3 RFC 8446
0x13,0x03 TLS_CHACHA20_POLY1305_SHA256 N/A TLSv1.3 RFC 7905
0x13,0x04 TLS_AES_128_CCM_SHA256 是的 N/A TLSv1.3 RFC 8446
0x13,0x05 TLS_AES_128_CCM_8_SHA256 是的 N/A TLSv1.3 RFC 8446
0x56,0x00 TLS_FALLBACK_SCSV 是的 TLSv1.3 N/A RFC 7507
0xC0,0x01 TLS_ECDH_ECDSA_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x02 TLS_ECDH_ECDSA_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4492 RFC 6347
0xC0,0x03 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x04 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x05 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x06 TLS_ECDHE_ECDSA_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x07 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4492 RFC 6347
0xC0,0x08 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x0B TLS_ECDH_RSA_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x0C TLS_ECDH_RSA_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4492 RFC 6347
0xC0,0x0D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x0E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x0F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x10 TLS_ECDHE_RSA_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x11 TLS_ECDHE_RSA_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4492 RFC 6347
0xC0,0x12 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x15 TLS_ECDH_anon_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x16 TLS_ECDH_anon_WITH_RC4_128_SHA TLSv1.3 N/A RFC 4492 RFC 6347
0xC0,0x17 TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x18 TLS_ECDH_anon_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x19 TLS_ECDH_anon_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 4492
0xC0,0x1A TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x1B TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x1C TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x1D TLS_SRP_SHA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x1E TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x1F TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x20 TLS_SRP_SHA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x21 TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x22 TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5054
0xC0,0x23 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5289
0xC0,0x24 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5289
0xC0,0x25 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5289
0xC0,0x26 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5289
0xC0,0x27 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5289
0xC0,0x28 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5289
0xC0,0x29 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5289
0xC0,0x2A TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5289
0xC0,0x2B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x2C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x2D TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x2E TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x2F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x30 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x31 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x32 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 5289
0xC0,0x33 TLS_ECDHE_PSK_WITH_RC4_128_SHA TLSv1.3 N/A RFC 5489 RFC 6347
0xC0,0x34 TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 是的 TLSv1.3 N/A RFC 5489
0xC0,0x35 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA 是的 TLSv1.3 N/A RFC 5489
0xC0,0x36 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA 是的 TLSv1.3 N/A RFC 5489
0xC0,0x37 TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 5489
0xC0,0x38 TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 5489
0xC0,0x39 TLS_ECDHE_PSK_WITH_NULL_SHA 是的 TLSv1.3 N/A RFC 5489
0xC0,0x3A TLS_ECDHE_PSK_WITH_NULL_SHA256 是的 TLSv1.3 N/A RFC 5489
0xC0,0x3B TLS_ECDHE_PSK_WITH_NULL_SHA384 是的 TLSv1.3 N/A RFC 5489
0xC0,0x3C TLS_RSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x3D TLS_RSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x3E TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x3F TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x40 TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x41 TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x42 TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x43 TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x44 TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x45 TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x46 TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x47 TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x48 TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x49 TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4A TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4B TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4C TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4D TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4E TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x4F TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x50 TLS_RSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x51 TLS_RSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x52 TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x53 TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x54 TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x55 TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x56 TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x57 TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x58 TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x59 TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5A TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5B TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5C TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5D TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5E TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x5F TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x60 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x61 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x62 TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x63 TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x64 TLS_PSK_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x65 TLS_PSK_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x66 TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x67 TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x68 TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x69 TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x6A TLS_PSK_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x6B TLS_PSK_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x6C TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x6D TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x6E TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x6F TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6209
0xC0,0x70 TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6209
0xC0,0x71 TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6209
0xC0,0x72 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x73 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x74 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x75 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x76 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x77 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x78 TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x79 TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x7A TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x7B TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x7C TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x7D TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x7E TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x7F TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x80 TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x81 TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x82 TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x83 TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x84 TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x85 TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x86 TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x87 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x88 TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x89 TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8A TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8B TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8C TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8D TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8E TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x8F TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x90 TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x91 TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x92 TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x93 TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 是的 TLSv1.3 TLSv1.2 RFC 6367
0xC0,0x94 TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x95 TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x96 TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x97 TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x98 TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x99 TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x9A TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 是的 TLSv1.3 N/A RFC 6367
0xC0,0x9B TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 是的 TLSv1.3 N/A RFC 6367
0xC0,0x9C TLS_RSA_WITH_AES_128_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0x9D TLS_RSA_WITH_AES_256_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0x9E TLS_DHE_RSA_WITH_AES_128_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0x9F TLS_DHE_RSA_WITH_AES_256_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA0 TLS_RSA_WITH_AES_128_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA1 TLS_RSA_WITH_AES_256_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA2 TLS_DHE_RSA_WITH_AES_128_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA3 TLS_DHE_RSA_WITH_AES_256_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA4 TLS_PSK_WITH_AES_128_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA5 TLS_PSK_WITH_AES_256_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA6 TLS_DHE_PSK_WITH_AES_128_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA7 TLS_DHE_PSK_WITH_AES_256_CCM 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA8 TLS_PSK_WITH_AES_128_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xA9 TLS_PSK_WITH_AES_256_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xAA TLS_DHE_PSK_WITH_AES_128_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xAB TLS_DHE_PSK_WITH_AES_256_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 6655
0xC0,0xAC TLS_ECDHE_ECDSA_WITH_AES_128_CCM 是的 TLSv1.3 TLSv1.2 RFC 7251
0xC0,0xAD TLS_ECDHE_ECDSA_WITH_AES_256_CCM 是的 TLSv1.3 TLSv1.2 RFC 7251
0xC0,0xAE TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 7251
0xC0,0xAF TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 是的 TLSv1.3 TLSv1.2 RFC 7251
0xCC,0xA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xAA TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xAB TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xAC TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xAD TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905
0xCC,0xAE TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 是的 TLSv1.3 TLSv1.2 RFC 7905

其他 JSSE 标准名称

关键类型

传递给 X509KeyManagerchooseClientAliaschooseServerAliasgetClientAliasesgetServerAliases 方法的 keyType 参数指定公钥类型。

给定指定的证书类型,下表的每一行都列出了应用于 keyType 的标准名称。

键类型的标准名称
Name 证书类别
RSA RSA
DSA DSA
DH_RSA 具有 RSA 签名的 Diffie-Hellman
DH_DSA 具有 DSA 签名的 Diffie-Hellman
EC 椭圆曲线
EC_EC 具有 ECDSA 签名的椭圆曲线
EC_RSA 带 RSA 签名的椭圆曲线
RSASSA-PSS RSASSA-PSS
EdDSA EdDSA(Ed25519 和 Ed448)

协议

传递给 SSLSocketSSLEnginesetEnabledProtocols 方法的 protocols 参数指定要在连接上使用的协议版本。下表列出了可以传递给 setEnabledProtocols 方法或可以由 SSLSocketSSLEnginegetSupportedProtocolsgetEnabledProtocols 方法返回的标准名称。

这些名称也适用于从 SSLSessiongetProtocol 方法返回的 protocol 参数,以及传递给 setProtocols 方法或可能由 SSLParametersgetProtocols 方法返回的 protocols 参数。

协议的标准名称
Name 协议
SSLv2 SSL 版本 2 协议
SSLv3 SSL 版本 3 协议
TLSv1 TLS 1.0 版协议(在 RFC 2246 中定义)
TLSv1.1 TLS 1.1 版协议(在 RFC 4346 中定义)
TLSv1.2 TLS 版本 1.2 协议(在 RFC 5246 中定义)
TLSv1.3 TLS 1.3 版协议(在 RFC 8446 中定义)
DTLSv1.0 DTLS 1.0 版协议(在 RFC 4347 中定义)
DTLSv1.2 DTLS 版本 1.2 协议(在 RFC 6347 中定义)
SSLv2你好 目前,SSLv3、TLSv1 和 TLSv1.1 协议允许您发送封装在 SSLv2 格式 hello 中的 SSLv3、TLSv1 和 TLSv1.1 hello。有关在这些协议中允许这种兼容性的原因的更多详细信息,请参阅相应 RFC(先前列出)中的附录 E。

Note: 一些 SSL/TLS 服务不支持 v2 hello 格式,要求客户端 hello 符合 SSLv3 或 TLSv1 客户端 hello 格式。

SSLv2Hello 选项控制 SSLv2 封装。如果客户端禁用 SSLv2Hello,则所有传出消息都将符合 SSLv3/TLSv1 客户端问候格式。如果在服务上禁用 SSLv2Hello,则所有传入消息都必须符合 SSLv3/TLSv1 客户端问候格式。

身份验证类型

传递给X509TrustManagercheckClientTrustedcheckServerTrusted方法的authType参数表示认证类型。下表指定了客户端或服务证书链应使用的标准名称。

客户端或服务证书链的标准名称
客户端或服务证书链 认证类型标准名称
客户 以实际使用的证书为准。例如,如果使用 RSAPublicKey,authType 应该是“RSA”。
服务 密码套件的密钥交换算法部分表示为字符串,例如“RSA”或“DHE_DSS”。

Note: 对于一些可导出的密码套件,密钥交换算法是在握手期间在运行时确定的。

例如,对于 TLS_RSA_EXPORT_WITH_RC4_40_MD5,当使用临时 RSA 密钥进行密钥交换时,authType 应为“RSA_EXPORT”,而当使用来自服务证书的密钥时,authType 应为“RSA_EXPORT”。或者它可以取值“UNKNOWN”。

端点识别算法

端点识别算法表示在 SSL/TLS/DTLS 握手过程中的端点识别或验证过程。算法名称可以传递给 javax.net.ssl.SSLParameterssetEndpointIdentificationAlgorithm 方法。

下表显示了标准端点标识名称。

端点识别算法名称
端点识别算法名称 规格
HTTPS RFC 2818
LDAPS RFC 2830

签名方案

下表包含标准签名方案名称,这些名称是 TLS 连接的数字签名中使用的算法,也定义在 IANA TLS Registry 的签名方案部分中。

签名方案 规格
ecdsa_secp256r1_sha256 RFC 8446
ecdsa_secp384r1_sha384 RFC 8446
ecdsa_secp521r1_sha512 RFC 8446
ecdsa_sha1 RFC 8446
ed25519 RFC 8446
ed448 RFC 8446
rsa_pkcs1_sha1 RFC 8446
rsa_pkcs1_sha256 RFC 8446
rsa_pkcs1_sha384 RFC 8446
rsa_pkcs1_sha512 RFC 8446
rsa_pss_pss_sha256 RFC 8446
rsa_pss_pss_sha384 RFC 8446
rsa_pss_pss_sha512 RFC 8446
rsa_pss_rsae_sha256 RFC 8446
rsa_pss_rsae_sha384 RFC 8446
rsa_pss_rsae_sha512 RFC 8446

命名组

下表包含标准组名称,这些名称是在 TLS 连接的密钥交换算法中使用的命名组,也在 IANA TLS 注册表的支持的组部分 中定义。

Name
secp256r1
secp384r1
secp521r1
RFC 8422 中指定的 NIST 椭圆曲线。
x25519
x448
RFC 8446RFC 8442 中指定的椭圆曲线。
ffdhe2048
ffdhe3072
ffdhe4096
ffdhe6144
ffdhe8192
RFC 7919 中指定的有限域 Diffie-Hellman Ephemeral (FFDHE) 组。

安全算法规范

本节指定有关本文档中定义的一些算法的详细信息。任何提供所列算法实现的提供商都必须遵守本节中的规范。

规范模板

下表显示了算法规范的字段。

Field Description
Name 已知算法的名称。这是传递给 getInstance 方法的名称(在请求算法时),并由 getAlgorithm 方法返回以确定现有算法对象的名称。这些方法在相关的引擎类中:SignatureMessageDigestKeyPairGeneratorAlgorithmParameterGenerator
Type 算法类型:SignatureMessageDigestKeyPairGeneratorAlgorithmParameterGenerator
Description 关于算法的一般说明,包括算法实现的任何标准、适用的专利等。
KeyPair 算法 (optional ) 该算法的KeyPair算法。
密钥大小(optional 对于密钥算法或密钥生成算法:有效密钥大小。
尺寸 (optional ) 对于算法参数生成算法:算法参数生成的有效“大小”。
参数默认值 (optional) 对于密钥生成算法:默认参数值。
Signature 格式 (optional ) 对于Signature算法,签名的格式,即分别是verify和sign方法的输入和输出。

算法规格

SHA-1 消息摘要算法
Field Description
Name SHA-1
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 160 位的摘要。
SHA-224 消息摘要算法
Field Description
Name SHA-224
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 224 位的摘要。
SHA-256 消息摘要算法
Field Description
Name SHA-256
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 256 位的摘要。
SHA-384 消息摘要算法
Field Description
Name SHA-384
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 384 位的摘要。
SHA-512 消息摘要算法
Field Description
Name SHA-512
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 512 位的摘要。
SHA-512/224 消息摘要算法
Field Description
Name SHA-512/224
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 224 位的摘要。
SHA-512/256 消息摘要算法
Field Description
Name SHA-512/256
Type MessageDigest
Description FIPS 180-4 中定义的消息摘要算法。该算法的输出是一个 256 位的摘要。
SHA3-224 消息摘要算法
Field Description
Name SHA3-224
Type MessageDigest
Description FIPS PUB 202 中定义的消息摘要算法。该算法的输出是一个 224 位的摘要。
SHA3-256 消息摘要算法
Field Description
Name SHA3-256
Type MessageDigest
Description FIPS PUB 202 中定义的消息摘要算法。该算法的输出是一个 256 位的摘要。
SHA3-384 消息摘要算法
Field Description
Name SHA3-384
Type MessageDigest
Description FIPS PUB 202 中定义的消息摘要算法。该算法的输出是一个 384 位的摘要。
SHA3-512 消息摘要算法
Field Description
Name SHA3-512
Type MessageDigest
Description FIPS PUB 202 中定义的消息摘要算法。该算法的输出是一个 512 位的摘要。
MD2 消息摘要算法
Field Description
Name MD2
Type MessageDigest
Description RFC 1319 中定义的消息摘要算法。该算法的输出是一个 128 位的摘要。
MD5 消息摘要算法
Field Description
Name MD5
Type MessageDigest
Description RFC 1321 中定义的消息摘要算法。该算法的输出是一个 128 位的摘要。
使用 SHA-1 或 SHA-2 的数字签名算法
Field Description
Name SHA1withDSA、SHA224withDSA、SHA256withDSA、SHA384withDSA 和 SHA512withDSA
Type Signature
Description NIST FIPS 186-3 中描述的签名算法,将 DSA 与 SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512 消息摘要算法结合使用。
KeyPair算法 DSA
Signature格式 两个 INTEGER 值的 ASN.1 序列:rs,顺序如下:

SEQUENCE { r INTEGER, s INTEGER }
基于 RSA 的签名算法,使用 MD2、MD5、SHA-1 或 SHA-2
Field Description
名称 MD2withRSA、MD5withRSA、SHA1withRSA、SHA224withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA、SHA512/224withRSA、SHA512/256withRSA
Type Signature
Description 这些是使用 MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384 和 SHA-512 消息摘要算法(分别)和 RSA 加密的签名算法。
KeyPair算法 RSA
Signature格式 RSA 实验室,PKCS #1 v2.2 中定义的 DER 编码 PKCS #1 块。加密的数据是签名数据的摘要。
基于 RSASSA-PSS 的签名算法
Field Description
名称 RSASSA-PSS
Type Signature
Description 此签名算法要求在处理数据之前显式提供 PSS 参数。
KeyPair算法 RSA 或 RSASSA-PSS
Signature格式 RSA 实验室,PKCS #1 v2.2 中定义的 DER 编码 PKCS1 块。加密的数据是签名数据的摘要。
DSA 密钥对生成算法
Field Description
Name DSA
Type KeyPairGenerator
Description 该算法是 NIST FIPS 186 中描述的用于 DSA 的密钥对生成算法。
密钥大小 模数 p 的长度(以位为单位)。这必须是 64 的倍数,范围从 512 到 1024(含)、2048 或 3072。
参数默认值 有关参数值,请参见下文。

以下是 512、768 和 1024 位密钥大小的参数值:

512-bit Key Parameters

 SEED =
   b869c82b 35d70e1b 1ff91b28 e37a62ec dc34409b
 counter = 123
 p =
   fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3
   ae1617ae 01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151
   bdc43ee7 37592e17
 q =
   962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5
 g =
   678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d
   14271b9e 35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a
   6c416e50 be794ca4 

768-bit key parameters

 SEED =
   77d0f8c4 dad15eb8 c4f2f8d6 726cefd9 6d5bb399
 counter = 263
 p =
   e9e64259 9d355f37 c97ffd35 67120b8e 25c9cd43 e927b3a9 670fbec5
   d8901419 22d2c3b3 ad248009 3799869d 1e846aab 49fab0ad 26d2ce6a
   22219d47 0bce7d77 7d4a21fb e9c270b5 7f607002 f3cef839 3694cf45
   ee3688c1 1a8c56ab 127a3daf
 q =
   9cdbd84c 9f1ac2f3 8d0f80f4 2ab952e7 338bf511
 g =
   30470ad5 a005fb14 ce2d9dcd 87e38bc7 d1b1c5fa cbaecbe9 5f190aa7
   a31d23c4 dbbcbe06 17454440 1a5b2c02 0965d8c2 bd2171d3 66844577
   1f74ba08 4d2029d8 3c1c1585 47f3a9f1 a2715be2 3d51ae4d 3e5a1f6a
   7064f316 933a346d 3f529252 

1024-bit key parameters

 SEED =
   8d515589 4229d5e6 89ee01e6 018a237e 2cae64cd
 counter = 92
 p =
   fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80
   b6512669 455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b
   801d346f f26660b7 6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6
   1bf83b57 e7c6a8a6 150f04fb 83f6d3c5 1ec30235 54135a16 9132f675
   f3ae2b61 d72aeff2 2203199d d14801c7
 q =
   9760508f 15230bcc b292b982 a2eb840b f0581cf5
 g =
   f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b
   3d078267 5159578e bad4594f e6710710 8180b449 167123e8 4c281613
   b7cf0932 8cc8a6e1 3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f
   0bfa2135 62f1fb62 7a01243b cca4f1be a8519089 a883dfe1 5ae59f06
   928b665e 807b5525 64014c3b fecf492a 

以下是由 (L,N) 对标识的较大 DSA 密钥大小的默认值:

(L,N) = (2048, 256)

 SEED =
   b0b44176 01b59cbc 9d8ac8f9 35cadaec 4f5fbb2f 23785609 ae466748
   d9b5a536
 counter = 497
 p =
   95475cf5 d93e596c 3fcd1d90 2add02f4 27f5f3c7 210313bb 45fb4d5b
   b2e5fe1c bd678cd4 bbdd84c9 836be1f3 1c077772 5aeb6c2f c38b85f4
   8076fa76 bcd8146c c89a6fb2 f706dd71 9898c208 3dc8d896 f84062e2
   c9c94d13 7b054a8d 8096adb8 d5195239 8eeca852 a0af12df 83e475aa
   65d4ec0c 38a9560d 5661186f f98b9fc9 eb60eee8 b030376b 236bc73b
   e3acdbd7 4fd61c1d 2475fa30 77b8f080 467881ff 7e1ca56f ee066d79
   506ade51 edbb5443 a563927d bc4ba520 08674617 5c888592 5ebc64c6
   14790677 3496990c b714ec66 7304e261 faee33b3 cbdf008e 0c3fa906
   50d97d39 09c9275b f4ac86ff cb3d03e6 dfc8ada5 934242dd 6d3bcca2
   a406cb0b
 q =
   f8183668 ba5fc5bb 06b5981e 6d8b795d 30b8978d 43ca0ec5 72e37e09
   939a9773
 g =
   42debb9d a5b3d88c c956e087 87ec3f3a 09bba5f4 8b889a74 aaf53174
   aa0fbe7e 3c5b8fcd 7a53bef5 63b0e985 60328960 a9517f40 14d3325f
   c7962bf1 e049370d 76d1314a 76137e79 2f3f0db8 59d095e4 a5b93202
   4f079ecf 2ef09c79 7452b077 0e135078 2ed57ddf 794979dc ef23cb96
   f1830619 65c4ebc9 3c9c71c5 6b925955 a75f94cc cf1449ac 43d586d0
   beee4325 1b0b2287 349d68de 0d144403 f13e802f 4146d882 e057af19
   b6f6275c 6676c8fa 0e3ca271 3a3257fd 1b27d063 9f695e34 7d8d1cf9
   ac819a26 ca9b04cb 0eb9b7b0 35988d15 bbac6521 2a55239c fc7e58fa
   e38d7250 ab9991ff bc971340 25fe8ce0 4c4399ad 96569be9 1a546f49
   78693c7a 

(L,N) = (2048, 224)

 SEED =
   58423608 0cfa43c0 9b023541 35f4cc51 98a19efa da08bd86 6d601ba4
 counter = 2666
 p =
   8f7935d9 b9aae9bf abed887a cf4951b6 f32ec59e 3baf3718 e8eac496
   1f3efd36 06e74351 a9c41833 39b809e7 c2ae1c53 9ba7475b 85d011ad
   b8b47987 75498469 5cac0e8f 14b33608 28a22ffa 27110a3d 62a99345
   3409a0fe 696c4658 f84bdd20 819c3709 a01057b1 95adcd00 233dba54
   84b6291f 9d648ef8 83448677 979cec04 b434a6ac 2e75e998 5de23db0
   292fc111 8c9ffa9d 8181e733 8db792b7 30d7b9e3 49592f68 09987215
   3915ea3d 6b8b4653 c633458f 803b32a4 c2e0f272 90256e4e 3f8a3b08
   38a1c450 e4e18c1a 29a37ddf 5ea143de 4b66ff04 903ed5cf 1623e158
   d487c608 e97f211c d81dca23 cb6e3807 65f822e3 42be484c 05763939
   601cd667
 q =
   baf696a6 8578f7df dee7fa67 c977c785 ef32b233 bae580c0 bcd5695d
 g =
   16a65c58 20485070 4e7502a3 9757040d 34da3a34 78c154d4 e4a5c02d
   242ee04f 96e61e4b d0904abd ac8f37ee b1e09f31 82d23c90 43cb642f
   88004160 edf9ca09 b32076a7 9c32a627 f2473e91 879ba2c4 e744bd20
   81544cb5 5b802c36 8d1fa83e d489e94e 0fa0688e 32428a5c 78c478c6
   8d0527b7 1c9a3abb 0b0be12c 44689639 e7d3ce74 db101a65 aa2b87f6
   4c6826db 3ec72f4b 5599834b b4edb02f 7c90e9a4 96d3a55d 535bebfc
   45d4f619 f63f3ded bb873925 c2f224e0 7731296d a887ec1e 4748f87e
   fb5fdeb7 5484316b 2232dee5 53ddaf02 112b0d1f 02da3097 3224fe27
   aeda8b9d 4b2922d9 ba8be39e d9e103a6 3c52810b c688b7e2 ed4316e1
   ef17dbde 
RSA 密钥对生成算法
Field Description
名称 RSA
Type KeyPairGenerator
Description 该算法是PKCS #1 v2.2中描述的密钥对生成算法。
力量 模数 n 的长度(以位为单位)。这必须是大于或等于 512 的 8 的倍数
RSASSA-PSS 密钥对生成算法
Field Description
名称 RSASSA-PSS
Type KeyPairGenerator
Description 该算法是PKCS #1 v2.2中描述的密钥对生成算法。
力量 模数 n 的长度(以位为单位)。这必须是大于或等于 512 的 8 的倍数
DSA 参数生成算法
Field Description
名称 DSA
Type AlgorithmParameterGenerator
Description 该算法是NIST FIPS 186中描述的用于DSA的参数生成算法。
力量 模数 p 的长度(以位为单位)。这必须是 64 的倍数,范围从 512 到 1024(含)、2048 或 3072。
或者,使用 DSAGenParameterSpec 类生成 DSA 参数。请注意,此类支持最新版本的 DSA 标准FIPS PUB 186-3,并且只允许使用一定长度的素数 P 和 Q。以位为单位的素数 P 和次素数 Q 长度的有效大小如下:

(1024, 160)
(2048, 224)
(2048, 256)
(3072, 256)

安全算法实现要求

本节定义了 Java SE 实现的安全算法要求。安全算法要求旨在提高 Java SE 实现和使用这些算法的应用程序的互操作性。

Note: 本节中的要求是 not 算法强度或安全性的度量。例如,密码分析的最新进展发现了 DESede(三重 DES)密码算法强度的弱点。您有责任确定算法是否满足您的应用程序的安全要求。

此版本的 Java SE 平台的每个实现都必须支持下表中指定的算法。这些要求不适用于第 3 方提供商。请查阅您的实现的发布文档以查看是否支持任何其他算法。

Class 算法名称
AlgorithmParameterGenerator
实现必须支持密钥大小
在括号内。
迪菲赫尔曼 (1024, 2048)
DSA (1024, 2048)
AlgorithmParameters AES
德塞德
DiffieHellman
DSA
CertificateFactory X.509
CertPath编码 PKCS7
PkiPath
CertPathBuilder PKIX
CertPathValidator PKIX
CertStore Collection
Cipher
实现必须支持括号中的密钥大小。
AES/CBC/无填充 (128)
AES/CBC/PKCS5填充 (128)
AES/ECB/无填充 (128)
AES/ECB/PKCS5填充 (128)
AES/GCM/无填充 (128)
DESede/CBC/无填充 (168)
DESede/CBC/PKCS5填充 (168)
DESede/欧洲央行/NoPadding (168)
DESede/ECB/PKCS5填充 (168)
RSA/ECB/PKCS1填充(1024、2048)
RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048)
RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048)
Configuration [1]
KeyAgreement DiffieHellman
KeyFactory DiffieHellman
DSA
RSA
KeyGenerator
实现必须支持括号中的密钥大小。
AES (128)
德塞德 (168)
HmacSHA1
HmacSHA256
KeyPairGenerator
实现必须支持括号中的密钥大小。
迪菲赫尔曼 (1024, 2048, 4096)
DSA (1024, 2048)
RSA (1024, 2048, 4096)
KeyStore PKCS12
Mac HmacSHA1
HmacSHA256
MessageDigest SHA-1
SHA-256
Policy [1]
SecretKeyFactory 德塞德
SecureRandom [1]
Signature SHA1与DSA
SHA1与RSA
SHA256withDSA
SHA256 和 RSA
SSLContext TLSv1.2
TrustManagerFactory PKIX

[1] 不需要特定的 Configuration 类型、Policy 类型或 SecureRandom 算法;但是,必须提供特定于实现的默认值。

XML 签名算法

此版本的 Java SE 平台的每个实现都必须支持下表中指定的 XML 签名算法。这些要求不适用于第 3 方提供商。请查阅您的实现的发布文档以查看是否支持任何其他算法。

Class 算法名称
TransformService http://www.w3.org/2001/10/xml-exc-c14n# (CanonicalizationMethod.EXCLUSIVE )
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (CanonicalizationMethod.INCLUSIVE )
http://www.w3.org/2000/09/xmldsig#base64 (Transform.BASE64 )
http://www.w3.org/2000/09/xmldsig#enveloped-signature (Transform.ENVELOPED )
XMLSignatureFactory DOM