本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
客户端软件开发工具包 3 的支持机制
有关支持的 Java 密码学架构 (JCA) 接口和引擎类的信息 AWS CloudHSM,请参阅以下主题。
支持的密钥
Java AWS CloudHSM 软件库允许您生成以下密钥类型。
-
AES – 128、192 和 256 位 AES 密钥。
-
DESede – 92 位 3DES 密钥。有关即将发生的更改,请参阅下面的注释 1。
-
NIST 曲线 secp256r1 (P-256)、secp384r1 (P-384) 和 secp256k1(区块链)的 ECC 密钥对。
-
RSA 2048 位到 4096 位 RSA 密钥,增量为 256 位。
除了标准参数以外,我们对于生成的每个密钥还支持以下参数。
-
Label:可用于搜索密钥的密钥标签。
-
isExtractable:指示密钥是否可从 HSM 中导出。
-
isPersistent:指示在当前会话结束时密钥是否保留在 HSM 上。
注意
利用 Java 库版本 3.1,可以更详细地指定参数。有关更多信息,请参阅支持的 Java 属性。
支持的密码
Java AWS CloudHSM 软件库支持以下算法、模式和填充组合。
算法 | Mode | Padding | 注意 |
---|---|---|---|
AES | CBC |
|
实施 |
AES | ECB |
|
实施 Cipher.ENCRYPT_MODE 和 Cipher.DECRYPT_MODE 。使用转换 AES。 |
AES | CTR |
|
实施 |
AES | GCM | AES/GCM/NoPadding |
实施 执行 AES-GCM 加密时,HSM 会忽略请求中的初始化向量 (IV) 并使用其生成的 IV。当该操作完成时,您必须调用 |
AESWrap | ECB |
|
实施 |
DESede(三重 DES) | CBC |
|
实施 密钥生成程序接受 168 或 192 位的大小。但是在内部,所有 DESede 密钥都是 192 位。 有关即将发生的更改,请参阅下面的注释 1。 |
DESede(三重 DES) | ECB |
|
实施 密钥生成程序接受 168 或 192 位的大小。但是在内部,所有 DESede 密钥都是 192 位。 有关即将发生的更改,请参阅下面的注释 1。 |
RSA | ECB |
|
实施 有关即将发生的更改,请参阅下面的注释 1。 |
RSA | ECB |
|
实施
|
RSAAESWrap | ECB | OAEPPADDING |
实施 Cipher.WRAP_Mode 和 Cipher.UNWRAP_MODE 。 |
支持的摘要
Java AWS CloudHSM 软件库支持以下消息摘要。
-
SHA-1
-
SHA-224
-
SHA-256
-
SHA-384
-
SHA-512
注意
长度小于 16 KB 的数据将在 HSM 上进行哈希处理,而较大的数据将在软件中本地进行哈希处理。
支持 HMAC 散列消息认证码算法
Java AWS CloudHSM 软件库支持以下 HMAC 算法。
-
HmacSHA1
-
HmacSHA224
-
HmacSHA256
-
HmacSHA384
-
HmacSHA512
支持的签名/验证机制
Java AWS CloudHSM 软件库支持以下类型的签名和验证。
RSA 签名类型
-
NONEwithRSA
-
SHA1withRSA
-
SHA224withRSA
-
SHA256withRSA
-
SHA384withRSA
-
SHA512withRSA
-
SHA1withRSA/PSS
-
SHA224withRSA/PSS
-
SHA256withRSA/PSS
-
SHA384withRSA/PSS
-
SHA512withRSA/PSS
ECDSA 签名类型
-
NONEwithECDSA
-
SHA1withECDSA
-
SHA224withECDSA
-
SHA256withECDSA
-
SHA384withECDSA
-
SHA512withECDSA
机制注释
[1] 根据 NIST 的指导方针,2023 年之后处于 FIPS 模式的集群不允许这样做。对于处于非 FIPS 模式的集群,2023 年之后仍允许这样做。有关详细信息,请参阅 FIPS140 合规性:2024 年机制弃用。