Java Security Standard Algorithm Names

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

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

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

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

注意:JDK提供程序文档包含特定的提供程序和算法信息。

AlgorithmParameterGenerator算法

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

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

AlgorithmParameters算法

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

算法名称 描述
AES 用于AES算法的参数。
Blowfish 用于Blowfish算法的参数。
ChaCha20-Poly1305 用于ChaCha20-Poly1305算法的参数,如RFC 8103中定义。
DES 用于DES算法的参数。
DESede 用于DESede算法的参数。
DiffieHellman 用于DiffieHellman算法的参数。
DSA 用于数字签名算法的参数。
EC 用于EC算法的参数。
GCM 用于Galois/Counter Mode(GCM)密码模式的参数,如RFC 5084中定义。
OAEP 用于OAEP算法的参数。
PBEWith<digest>And<encryption> PBEWith<prf>And<encryption> 用于PKCS#5基于密码的加密的参数,其中<digest>是消息摘要,<prf>是伪随机函数,<encryption>是加密算法。示例:PBEWithMD5AndDESPBEWithHmacSHA256AndAES
PBE 用于PBE算法的参数。应优先使用先前列出的更具体的PBE算法名称,而不是使用此名称。
RC2 用于RC2算法的参数。
RSASSA-PSS 用于RSASSA-PSS签名算法的参数。

CertificateFactory类型

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

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

CertPath编码

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

编码 描述
PKCS7 一个PKCS#7 SignedData对象,其中唯一的重要字段是证书。特别地,忽略了签名和内容。如果没有证书,则假定为零长度的CertPath

警告: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建议X.509(2000)的技术勘误1(DTC 2)中。有关详细信息,请参阅ITU网站

CertPathBuilder算法

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

算法名称 描述
PKIX PKIX认证路径验证算法,如ValidationAlgorithm服务属性中定义。实现此算法的CertPathBuilder实例的输出是针对PKIX验证算法验证的认证路径。

CertPathValidator算法

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

算法名称 描述
PKIX PKIX认证路径验证算法,如ValidationAlgorithm服务属性中定义。

CertStore类型

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

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

Cipher 算法

在请求Cipher实例时,以下名称可以指定为转换中的算法组件。

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

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

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

PBEWithMD5AndDES:在PKCS#5:基于密码的加密规范,版本2.1中定义的PBES1基于密码的加密算法。请注意,此算法意味着CBC作为密码模式,PKCS5Padding作为填充方案,并且不能与任何其他密码模式或填充方案一起使用。

PBEWithHmacSHA256AndAES_128:在PKCS#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实例时,以下名称可以指定为转换中的模式组件。

算法名称 描述
NONE 无模式。
CBC 密码块链接模式,如在FIPS PUB 81中定义。
CCM 计数器/密码块链接模式,如在NIST Special Publication SP 800-38C中定义。
CFB, CFBx 密码反馈模式,如在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 电子密码本模式,如在FIPS PUB 81中定义(通常不应将此模式用于多个数据块)。
GCM Galois/计数器模式,如在NIST Special Publication SP 800-38D中定义。
KW 密钥包装(KW)模式,如在RFC 3394NIST Special Publication SP 800-38F中定义。
KWP 带填充的密钥包装(KWP)模式,如在RFC 5649NIST Special Publication 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实例时,可以将以下名称指定为转换中的填充组件。

算法名称 描述
NoPadding 无填充。
ISO10126Padding 此用于块密码的填充在ISO 10126标准中描述(现已撤销)。
OAEPPadding, OAEPWith<digest>And<mgf>Padding 最佳非对称加密。在PKCS#1中定义的填充方案,其中<digest>应替换为消息摘要,<mgf>应替换为掩码生成函数。示例:OAEPWithMD5AndMGF1PaddingOAEPWithSHA-512AndMGF1Padding

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

块密码结构 {
    不透明内容[SSLCompressed.length];
    不透明MAC[CipherSpec.hash_size];
    uint8填充[GenericBlockCipher.padding_length];
    uint8填充长度;
} 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

配置 类型

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

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

豁免机制

以下豁免机制名称可以在陪伴被视为“豁免”加密限制的应用程序的权限策略文件中指定。

算法名称 描述
KeyEscrow 具有备份解密功能的加密系统,允许经过授权的人员(用户、组织的官员和政府官员)在一定规定条件下,通过由一个或多个持有特殊数据恢复密钥的受信任方提供的信息来解密密文。
KeyRecovery 获取用于锁定加密数据的秘密密钥的方法。 其一种用途是作为一种手段,在灾难时期为公司自己的加密信息提供故障安全访问。
KeyWeakening 一种方法,其中密钥的一部分可以被托管或恢复。

GSSAPI 机制

在使用GSSAPI时,可以指定以下机制。 请注意,为了与GSSAPI标准保持一致,使用对象标识符(OID)而不是名称。

机制OID 描述
1.2.840.113554.1.2.2 RFC 4121中定义的Kerberos v5 GSS-API机制。
1.3.6.1.5.5.2 RFC 4178中定义的Simple and Protected GSS-API Negotiation (SPNEGO)机制。

KEM算法

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

算法名称 描述
DHKEM RFC 9180中定义的基于DH的KEM。

密钥编码

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

编码 描述
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实例时可以指定以下算法名称。

算法名称 描述
DiffieHellman 在PKCS #3中定义的Diffie-Hellman密钥协议。
ECDH 在ANSI X9.63中定义的椭圆曲线Diffie-Hellman,如RFC 3278中描述的“在加密消息语法(CMS)中使用椭圆曲线密码算法(ECC)”。
ECMQV 椭圆曲线Menezes-Qu-Vanstone。
XDH RFC 7748中定义的带有椭圆曲线的Diffie-Hellman密钥协议。
X25519 RFC 7748中定义的使用Curve25519的Diffie-Hellman密钥协议。
X448 RFC 7748中定义的使用Curve448的Diffie-Hellman密钥协议。

KeyFactory算法

在生成KeyFactory实例时可以指定以下算法名称。

(除非另有说明,这些类创建的密钥将返回标准算法名称的Key.getAlgorithm()。)

算法名称 描述
DiffieHellman 用于Diffie-Hellman KeyAgreement算法的密钥。

注意: key.getAlgorithm()将返回“DH”而不是“DiffieHellman”。
DSA 用于数字签名算法的密钥。
EC 用于椭圆曲线算法的密钥。
EdDSA 用于RFC 8032中定义的带有椭圆曲线的Edwards-Curve签名算法的密钥。
Ed25519 用于RFC 8032中定义的使用Ed25519的Edwards-Curve签名算法的密钥。
Ed448 用于RFC 8032中定义的使用Ed448的Edwards-Curve签名算法的密钥。
HSS/LMS 用于RFC 8554中定义的具有分层签名系统(HSS)的Leighton-Micali签名(LMS)系统的密钥。
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实例时可以指定以下算法名称。

(这些类生成的密钥将返回标准算法名称的Key.getAlgorithm()。)

算法名称 描述
AES 用于AES算法的密钥生成器。
ARCFOUR 用于ARCFOUR(RC4)算法的密钥生成器。
Blowfish 用于Blowfish算法的密钥生成器。
ChaCha20 用于ChaCha20和ChaCha20-Poly1305算法的密钥生成器。
DES 用于DES算法的密钥生成器。
DESede 用于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实例时可以指定以下算法名称。

算法名称 描述
PKIX 一个用于管理本地端根据IETF PKIX工作组在RFC 5280或其后继者定义的规则进行本地端认证的X509ExtendedKeyManager的工厂。 KeyManagerFactory必须支持使用类javax.net.ssl.KeyStoreBuilderParameters进行初始化。

KeyPairGenerator 算法

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

(除非另有说明,这些类创建的密钥的Key.getAlgorithm()返回标准算法名称。)

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

注意: key.getAlgorithm()将返回"DH"而不是"DiffieHellman"。
DSA 为数字签名算法生成密钥对。
RSA 为RSA算法(签名/加密)生成密钥对。
RSASSA-PSS 为RSASSA-PSS签名算法生成密钥对。
EC 为椭圆曲线算法生成密钥对。
EdDSA 为椭圆曲线签名算法生成密钥对,使用RFC 8032中定义的椭圆曲线。
Ed25519 为Ed25519作为定义在RFC 8032中的Edwards-Curve签名算法生成密钥对。
Ed448 为Ed448作为定义在RFC 8032中的Edwards-Curve签名算法生成密钥对。
XDH 为使用RFC 7748中定义的椭圆曲线进行Diffie-Hellman密钥协商生成密钥对。
X25519 为使用RFC 7748中定义的Curve25519进行Diffie-Hellman密钥协商生成密钥对。
X448 为使用RFC 7748中定义的Curve448进行Diffie-Hellman密钥协商生成密钥对。

KeyStore 类型

在生成KeyStore实例时可以指定的类型。

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

Mac 算法

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

算法名称 描述
HmacMD5 HMAC-MD5密钥散列算法,如RFC 2104中定义的"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-2和SHA-3系列摘要算法的SHA-*
PBEWith<mac> PBMAC1基于密码的消息认证方案,如PKCS#5:基于密码的密码学规范,版本2.1中定义,其中<mac>是消息认证码算法名称。示例:PBEWithHmacSHA256
HmacPBESHA1
HmacPBESHA224
HmacPBESHA256
HmacPBESHA384
HmacPBESHA512
HmacPBESHA512/224
HmacPBESHA512/256
RFC 7292附录B.4中定义的HMAC算法:"PKCS#12:个人信息交换语法v1.1"(2014年7月)。

MessageDigest 算法

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

算法名称 描述
MD2 MD2消息摘要算法,如RFC 1319中定义。
MD5 MD5消息摘要算法,如RFC 1321中定义。
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类可用于使用以下名称指定一组参数。

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

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

名称 描述
sect163k1
sect163r1
sect163r2
sect193r1
sect193r2
sect233k1
sect233r1
sect239k1
sect283k1
sect283r1
sect409k1
sect409r1
sect571k1
sect571r1
secp160k1
secp160r1
secp160r2
secp192k1
secp192r1
secp224k1
secp224r1
secp256k1
secp256r1
secp384r1
secp521r1
SECG, SEC 2: 推荐的椭圆曲线域参数中指定的命名曲线。
brainpoolP256r1
brainpoolP384r1
brainpoolP512r1
RFC 5639中定义的命名曲线。

策略类型

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

类型 描述
JavaPolicy 来自SUN提供程序的默认策略实现,如Java平台标准版安全开发人员指南中的默认策略实现和策略文件语法部分所述。此类型接受java.security.URIParameter作为有效的Policy.Parameter类型。如果未指定此参数,则策略信息将从Java平台标准版安全开发人员指南中描述的位置加载。如果指定了此参数,则策略信息将仅从指定的URI加载。

SaslClient机制

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

机制 描述
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实例时,可以指定本节中的机制。

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

SecretKeyFactory算法

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

(这些类创建的密钥,Key.getAlgorithm()返回标准算法名称。)

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

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

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

SecureRandom随机数生成算法

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

算法名称 描述
NativePRNG 从底层本机操作系统获取随机数。不对生成这些数字的阻塞性质做任何断言。
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)相关联。

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

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

例如,

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

Signature 算法

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

算法名称 描述
EdDSA 根据RFC 8032定义的爱德华曲线签名算法。
Ed25519 根据RFC 8032定义的爱德华曲线签名算法,使用Ed25519。
Ed448 根据RFC 8032定义的爱德华曲线签名算法,使用Ed448。
HSS/LMS 根据RFC 8554定义的具有分层签名系统(HSS)的莱顿-米卡利签名(LMS)系统。
NONEwithRSA RSA签名算法,不使用任何摘要算法,仅使用RSASP1/RSAVP1原语,定义在PKCS #1 v2.2中。
MD2withRSA
MD5withRSA
RSA签名算法,使用MD2/MD5摘要与RSASSA-PKCS1-v1_5签名方案,定义在PKCS #1 v2.2中。
SHA1withRSA
SHA224withRSA
SHA256withRSA
SHA384withRSA
SHA512withRSA
SHA512/224withRSA
SHA512/256withRSA
SHA3-224withRSA
SHA3-256withRSA
SHA3-384withRSA
SHA3-512withRSA
RSA签名算法,使用SHA-*摘要与RSASSA-PKCS1-v1_5签名方案,定义在PKCS #1 v2.2中。
RSASSA-PSS 使用RSASSA-PSS签名方案的签名算法,定义在PKCS #1 v2.2中。请注意,此签名算法在执行RSA操作之前需要提供摘要算法、盐长度和MGF1算法等参数。
NONEwithDSA 数字签名算法,定义在FIPS PUB 186-2中。数据长度必须为20字节。此算法也称为rawDSA。
SHA1withDSA
SHA224withDSA
SHA256withDSA
SHA384withDSA
SHA512withDSA
SHA3-224withDSA
SHA3-256withDSA
SHA3-384withDSA
SHA3-512withDSA
使用SHA-1、SHA-2和SHA-3系列摘要算法创建和验证数字签名的DSA签名算法,定义在FIPS PUB 186-3FIPS PUB 186-4中。
NONEwithECDSA
SHA1withECDSA
SHA224withECDSA
SHA256withECDSA
SHA384withECDSA
SHA512withECDSA
(ECDSA)
SHA3-224withECDSA
SHA3-256withECDSA
SHA3-384withECDSA
SHA3-512withECDSA
根据ANSI X9.62定义的ECDSA签名算法。

注意:“ECDSA”是“SHA1withECDSA”算法的一个模糊名称,不应使用。应使用正式名称“SHA1withECDSA”。
NONEwithDSAinP1363Format
SHA1withDSAinP1363Format
SHA224withDSAinP1363Format
SHA256withDSAinP1363Format
SHA384withDSAinP1363Format
SHA512withDSAinP1363Format
SHA3-224withDSAinP1363Format
SHA3-256withDSAinP1363Format
SHA3-384withDSAinP1363Format
SHA3-512withDSAinP1363Format
根据FIPS PUB 186-2、186-3和186-4定义的DSA签名算法,输出格式符合IEEE P1363格式。这些算法的签名字节格式是整数r和s的原始字节串连接。
NONEwithECDSAinP1363Format
SHA1withECDSAinP1363Format
SHA224withECDSAinP1363Format
SHA256withECDSAinP1363Format
SHA384withECDSAinP1363Format
SHA512withECDSAinP1363Format
SHA3-224withECDSAinP1363Format
SHA3-256withECDSAinP1363Format
SHA3-384withECDSAinP1363Format
SHA3-512withECDSAinP1363Format
根据ANSI X9.62和FIPS PUB 186-4定义的ECDSA签名算法,输出格式符合IEEE P1363格式。这些算法的签名字节格式是整数r和s的原始字节串连接。
<digest>with<encryption> 用于形成具有特定消息摘要(如MD2或MD5)和算法(如RSA或DSA)的签名算法的名称,就像在本节中明确定义的标准名称(如MD2withRSA等)一样。

对于在PKCS #1 v2.2中定义的签名方案,<digest>with<encryption>形式不足以描述,可以使用<digest>with<encryption>and<mgf>来形成名称。这里,<mgf>应替换为诸如MGF1之类的掩码生成函数。例如:MD5withRSAandMGF1

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

SSLContext 算法

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

算法名称 描述
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实例时可以指定的算法名称。

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

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

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

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

机制 描述
DOM 文档对象模型。

XML签名转换(TransformService)算法

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

注意:为了与XML签名标准保持一致,使用URI来指定算法而不是名称。每个URI都有对应的API常量,在下表中的每个URI后面列出。

算法URI 描述
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) 规范化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 Filter 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
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 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 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 不适用 TLSv1.3 RFC 8446
0x56,0x00 TLS_FALLBACK_SCSV TLSv1.3 不适用 RFC 7507
0xC0,0x01 TLS_ECDH_ECDSA_WITH_NULL_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x02 TLS_ECDH_ECDSA_WITH_RC4_128_SHA TLSv1.3 不适用 RFC 4492 RFC 6347
0xC0,0x03 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x04 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x05 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x06 TLS_ECDHE_ECDSA_WITH_NULL_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x07 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA TLSv1.3 不适用 RFC 4492 RFC 6347
0xC0,0x08 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x09 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x0A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x0B TLS_ECDH_RSA_WITH_NULL_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x0C TLS_ECDH_RSA_WITH_RC4_128_SHA TLSv1.3 不适用 RFC 4492 RFC 6347
0xC0,0x0D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x0E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x0F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x10 TLS_ECDHE_RSA_WITH_NULL_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x11 TLS_ECDHE_RSA_WITH_RC4_128_SHA TLSv1.3 不适用 RFC 4492 RFC 6347
0xC0,0x12 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x13 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x14 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x15 TLS_ECDH_anon_WITH_NULL_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x16 TLS_ECDH_anon_WITH_RC4_128_SHA TLSv1.3 不适用 RFC 4492 RFC 6347
0xC0,0x17 TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x18 TLS_ECDH_anon_WITH_AES_128_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x19 TLS_ECDH_anon_WITH_AES_256_CBC_SHA TLSv1.3 不适用 RFC 4492
0xC0,0x1A TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 RFC 5054
0xC0,0x1B TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA TLSv1.3 不适用 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
0xC0,0x3B TLS_ECDHE_PSK_WITH_NULL_SHA384 TLSv1.3 不适用 RFC 5489
0xC0,0x3C TLS_RSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x3D TLS_RSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x3E TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x3F TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x40 TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x41 TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x42 TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x43 TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x44 TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x45 TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x46 TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x47 TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x48 TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x49 TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x4A TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x4B TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x4C TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x4D TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 RFC 6209
0xC0,0x4E TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 TLSv1.3 不适用 RFC 6209
0xC0,0x4F TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 TLSv1.3 不适用 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 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,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
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
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标准名称

密钥类型

传递给X509KeyManagerkeyType参数指定了公钥类型,该参数用于chooseClientAliaschooseServerAliasgetClientAliasesgetServerAliases方法。

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

密钥类型的标准名称
名称 证书类型
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)

协议

传递给SSLSocketSSLEngineprotocols参数指定了连接中要启用的协议版本。下表列出了可以传递给setEnabledProtocols方法的标准名称,或者可以由SSLSocketSSLEnginegetSupportedProtocolsgetEnabledProtocols方法返回的标准名称。

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

协议的标准名称
名称 协议
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中定义)
SSLv2Hello 目前,SSLv3、TLSv1和TLSv1.1协议允许您发送封装在SSLv2格式hello中的SSLv3、TLSv1和TLSv1.1 hello。有关在这些协议中允许此兼容性的原因的更多详细信息,请参阅适当RFC中的附录E。

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

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

认证类型

传递给X509TrustManagerauthType参数指示了认证类型,该参数用于checkClientTrustedcheckServerTrusted方法。下表指定了应该用于客户端或服务器证书链的标准名称。

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

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

例如,对于TLS_RSA_EXPORT_WITH_RC4_40_MD5,当使用临时RSA密钥进行密钥交换时,authType应为"RSA_EXPORT",当使用服务器证书中的密钥时,应为"RSA"。或者可以取值为"UNKNOWN"。

端点识别算法

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

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

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

签名方案

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

签名方案 规范
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 注册的支持的组部分中定义。

名称
secp256r1
secp384r1
secp521r1
NIST椭圆曲线,如RFC 8422中所定义。
x25519
x448
RFC 8446RFC 8442中所定义的椭圆曲线。
ffdhe2048
ffdhe3072
ffdhe4096
ffdhe6144
ffdhe8192
RFC 7919中指定的有限域迪菲-赫尔曼临时(FFDHE)组。

安全算法规范

本节详细说明了本文档中定义的一些算法的细节。提供所列算法实现的任何提供者必须遵守本节的规范。

规范模板

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

字段 描述
名称 算法的名称。这是传递给getInstance方法(请求算法时)的名称,并由getAlgorithm方法返回以确定现有算法对象的名称。这些方法位于相关的引擎类中:SignatureMessageDigestKeyPairGeneratorAlgorithmParameterGenerator
类型 算法的类型:SignatureMessageDigestKeyPairGeneratorAlgorithmParameterGenerator
描述 关于算法的一般说明,包括算法实现的任何标准、适用的专利等。
KeyPair算法(可选) 此算法的KeyPair算法。
密钥大小(可选) 对于有密钥算法或密钥生成算法:有效的密钥大小。
大小(可选) 对于算法参数生成算法:算法参数生成的有效“大小”。
参数默认值(可选) 对于密钥生成算法:默认参数值。
Signature格式(可选) 对于Signature算法,签名的格式,即验证和签名方法的输入和输出。

算法规范

SHA-1消息摘要算法
字段 描述
名称 SHA-1
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。此算法的输出为160位摘要。
SHA-224消息摘要算法
字段 描述
名称 SHA-224
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。此算法的输出为224位摘要。
SHA-256消息摘要算法
字段 描述
名称 SHA-256
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。此算法的输出为256位摘要。
SHA-384消息摘要算法
字段 描述
名称 SHA-384
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。该算法的输出为384位摘要。
SHA-512消息摘要算法
字段 描述
名称 SHA-512
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。该算法的输出为512位摘要。
SHA-512/224消息摘要算法
字段 描述
名称 SHA-512/224
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。该算法的输出为224位摘要。
SHA-512/256消息摘要算法
字段 描述
名称 SHA-512/256
类型 MessageDigest
描述 FIPS 180-4中定义的消息摘要算法。该算法的输出为256位摘要。
SHA3-224消息摘要算法
字段 描述
名称 SHA3-224
类型 MessageDigest
描述 FIPS PUB 202中定义的消息摘要算法。该算法的输出为224位摘要。
SHA3-256消息摘要算法
字段 描述
名称 SHA3-256
类型 MessageDigest
描述 FIPS PUB 202中定义的消息摘要算法。该算法的输出为256位摘要。
SHA3-384消息摘要算法
字段 描述
名称 SHA3-384
类型 MessageDigest
描述 FIPS PUB 202中定义的消息摘要算法。该算法的输出为384位摘要。
SHA3-512消息摘要算法
字段 描述
名称 SHA3-512
类型 MessageDigest
描述 FIPS PUB 202中定义的消息摘要算法。该算法的输出为512位摘要。
MD2消息摘要算法
字段 描述
名称 MD2
类型 MessageDigest
描述 RFC 1319中定义的消息摘要算法。该算法的输出为128位摘要。
MD5消息摘要算法
字段 描述
名称 MD5
类型 MessageDigest
描述 RFC 1321中定义的消息摘要算法。该算法的输出为128位摘要。
使用SHA-1或SHA-2的数字签名算法
字段 描述
名称 SHA1withDSA, SHA224withDSA, SHA256withDSA, SHA384withDSA, 和 SHA512withDSA
类型 Signature
描述 NIST FIPS 186-3中描述的签名算法,使用DSA与SHA-1、SHA-224、SHA-256、SHA-384和SHA-512消息摘要算法。
KeyPair算法 DSA
Signature格式 两个整数值的ASN.1序列:rs,按顺序排列:

SEQUENCE { r INTEGER, s INTEGER }
基于RSA的签名算法,使用MD2、MD5、SHA-1或SHA-2
字段 描述
名称 MD2withRSA、MD5withRSA、SHA1withRSA、SHA224withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA、SHA512/224withRSA、SHA512/256withRSA
类型 Signature
描述 这些是使用MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512消息摘要算法(分别)与RSA加密的签名算法。
KeyPair 算法 RSA
Signature 格式 RSA Laboratories, PKCS #1 v2.2中定义的DER编码的PKCS #1块。加密的数据是签名的摘要。
基于RSASSA-PSS的签名算法
字段 描述
名称 RSASSA-PSS
类型 Signature
描述 此签名算法要求在处理数据之前明确提供PSS参数。
KeyPair 算法 RSA或RSASSA-PSS
Signature 格式 RSA Laboratories, PKCS #1 v2.2中定义的DER编码的PKCS1块。加密的数据是签名的摘要。
DSA密钥对生成算法
字段 描述
名称 DSA
类型 KeyPairGenerator
描述 这是NIST FIPS 186中描述的DSA密钥对生成算法。
密钥长度 模数p的位数。必须是64的倍数,范围从512到1024(包括),2048或3072。
参数默认值 请参阅下面的参数值。

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

512位密钥参数

 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位密钥参数

 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位密钥参数

 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 1c9a3
RSASSA-PSS密钥对生成算法
字段 描述
名称 RSASSA-PSS
类型 KeyPairGenerator
描述 该算法是在PKCS#1 v2.2中描述的密钥对生成算法。
强度 模数n的位长度。必须是大于或等于512的8的倍数
DSA参数生成算法
字段 描述
名称 DSA
类型 AlgorithmParameterGenerator
描述 该算法是在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实现和使用这些算法的应用程序的互操作性。

注意:本节中的要求不是算法强度或安全性的衡量标准。例如,最近的密码分析进展发现了DESede(Triple DES)密码算法的弱点。您有责任确定算法是否符合应用程序的安全要求。

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

算法名称
AlgorithmParameterGenerator
实现必须支持括号中的密钥大小。
DiffieHellman(1024, 2048)
DSA(1024, 2048)
AlgorithmParameters AES
DESede
DiffieHellman
DSA
CertificateFactory X.509
CertPath 编码 PKCS7
PkiPath
CertPathBuilder PKIX
CertPathValidator PKIX
CertStore Collection
Cipher
实现必须支持括号中的密钥大小。
AES/CBC/NoPadding(128)
AES/CBC/PKCS5Padding(128)
AES/ECB/NoPadding(128)
AES/ECB/PKCS5Padding(128)
AES/GCM/NoPadding(128)
DESede/CBC/NoPadding(168)
DESede/CBC/PKCS5Padding(168)
DESede/ECB/NoPadding(168)
DESede/ECB/PKCS5Padding(168)
RSA/ECB/PKCS1Padding(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)
DESede(168)
HmacSHA1
HmacSHA256
KeyPairGenerator
实现必须支持括号中的密钥大小。
DiffieHellman(1024, 2048, 4096)
DSA(1024, 2048)
RSA(1024, 2048, 4096)
KeyStore PKCS12
Mac HmacSHA1
HmacSHA256
MessageDigest SHA-1
SHA-256
Policy [1]
SecretKeyFactory DESede
SecureRandom [1]
Signature SHA1withDSA
SHA1withRSA
SHA256withDSA
SHA256withRSA
SSLContext TLSv1.2
TrustManagerFactory PKIX

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

XML签名算法

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

算法名称
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