vault backup: 2026-11-07 16:33:44
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
sun.security.pkcs11.wrapper.PKCS11Constants 内包含 CKM 的定义,例如:CKM_MD5
|
||||
|
||||
|
||||
```
|
||||
// 使用指定的算法和提供者创建 HMAC 实例
|
||||
Mac mac = null;
|
||||
try {
|
||||
// 方案1 生成密钥
|
||||
// // 1. 创建 KeyGenerator 实例,指定 HMAC 算法(如 HmacSHA256)
|
||||
// KeyGenerator keyGen = KeyGenerator.getInstance("HmacSM3", this.pkcs11Provider);
|
||||
// // 2. 初始化密钥生成器(可选:指定密钥长度)
|
||||
// // - 如果省略初始化,JCE 会根据算法自动选择安全长度
|
||||
// keyGen.init(128); // 16 字节
|
||||
// // 3. 生成密钥
|
||||
// SecretKey key = keyGen.generateKey();
|
||||
// mac = Mac.getInstance(algorithm, this.pkcs11Provider);
|
||||
|
||||
// 方案2 使用明文密钥
|
||||
// 使用提供的密钥初始化 HMAC SecretKeySpec key = new SecretKeySpec(secretKey2, algorithm);
|
||||
|
||||
mac.init(key);
|
||||
// 执行 HMAC 计算,返回结果
|
||||
return mac.doFinal(data);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## 常见问题
|
||||
no such algorithm: SM4MAC for provider SunyardPKCS11-HSM
|
||||
|
||||
|
||||
|
||||
## 测试
|
||||
|
||||
6 -1 随机数
|
||||
1 SM3 -1
|
||||
1 SHA-256 -1
|
||||
1 SHA-384 -1
|
||||
1 SHA-512 -1
|
||||
2 HMAC-SM3 -1
|
||||
2 SHA-256 -1
|
||||
2 SHA-384 -1
|
||||
2 SHA-512 -1
|
||||
3 SM4 -1 MAC
|
||||
3 3DES -1
|
||||
3 AES -1
|
||||
4 SM2 1 -1
|
||||
4 SM2 2 -1
|
||||
4 RSA 1 -1
|
||||
4 RSA 2 -1
|
||||
5 SM4 ECB -1
|
||||
5 SM4 CBC -1
|
||||
5 3DES ECB -1
|
||||
5 3DES CBC -1
|
||||
5 AES ECB -1
|
||||
5 AES CBC -1
|
||||
Reference in New Issue
Block a user