java - aws cloudhsm C_FindObjectsInit CKR_ATTRIBUTE_TYPE_INVALID

标签 java amazon-web-services pkcs#11 hsm iaik-jce

使用 iaik.pkcs.pkcs11 包装器与 ubuntu 上的 cloudhsm 通信。

当尝试检索RSAPublicKey类的所有公钥时,我收到此异常:

iaik.pkcs.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID
at iaik.pkcs.pkcs11.wrapper.PKCS11Implementation.C_FindObjectsInit(Native Method)
at iaik.pkcs.pkcs11.Session.findObjectsInit(Session.java:642)

使用我设法找到的日志 pkcs11 包装器:

0x00002b8c : 0x438b4700 : Calling C_FindObjectsInit
0x00002b8c : 0x438b4700 : Input
0x00002b8c : 0x438b4700 :  hSession: 10240
0x00002b8c : 0x438b4700 :  pTemplate: 0x7f2a58031f60
0x00002b8c : 0x438b4700 :  ulCount: 4
0x00002b8c : 0x438b4700 :   *** Begin attribute template ***
0x00002b8c : 0x438b4700 :   Attribute 0
0x00002b8c : 0x438b4700 :    Attribute: 256 (CKA_KEY_TYPE)
0x00002b8c : 0x438b4700 :    pValue: 0x7f2a58011c10
0x00002b8c : 0x438b4700 :    ulValueLen: 8
0x00002b8c : 0x438b4700 :    *pValue: HEX(0000000000000000)
0x00002b8c : 0x438b4700 :   Attribute 1
0x00002b8c : 0x438b4700 :    Attribute: 1073743360 (CKA_ALLOWED_MECHANISMS)
0x00002b8c : 0x438b4700 :    pValue: 0x7f2a58031ed0
0x00002b8c : 0x438b4700 :    ulValueLen: 32
0x00002b8c : 0x438b4700 :    *pValue: HEX(4300000000000000440000000000000045000000000000000D00000000000000)
0x00002b8c : 0x438b4700 :   Attribute 2
0x00002b8c : 0x438b4700 :    Attribute: 264 (CKA_SIGN)
0x00002b8c : 0x438b4700 :    pValue: 0x7f2a5802f450
0x00002b8c : 0x438b4700 :    ulValueLen: 1
0x00002b8c : 0x438b4700 :    *pValue: HEX(01)
0x00002b8c : 0x438b4700 :   Attribute 3
0x00002b8c : 0x438b4700 :    Attribute: 0 (CKA_CLASS)
0x00002b8c : 0x438b4700 :    pValue: 0x7f2a5802f470
0x00002b8c : 0x438b4700 :    ulValueLen: 8
0x00002b8c : 0x438b4700 :    *pValue: HEX(0300000000000000)
0x00002b8c : 0x438b4700 :   *** End attribute template ***
0x00002b8c : 0x438b4700 : Returning 18 (CKR_ATTRIBUTE_TYPE_INVALID)

但无法理解问题所在。这些机制都应该得到 cloudhsm 的正确允许。

最佳答案

如果我读取 pkcs11-logger 的输出正确的话,这就是您的搜索模板:

CKA_CLASS = CKO_PRIVATE_KEY
CKA_KEY_TYPE = CKK_RSA
CKA_SIGN = CK_TRUE
CKA_ALLOWED_MECHANISMS = { CKM_SHA256_RSA_PKCS_PSS, CKM_SHA384_RSA_PKCS_PSS, CKM_SHA512_RSA_PKCS_PSS, CKM_RSA_PKCS_PSS }

对我来说这似乎完全没问题。

不幸的是,PKCS#11 API 没有提供所提供模板的确切属性导致 CKR_ATTRIBUTE_TYPE_INVALID 错误的详细信息,但许多 PKCS#11 库支持某种内部日志记录机制,这可能会揭示错误的真正原因。 PKCS#11 库供应商提供的文档中应包含启用日志记录所需的确切步骤。

关于java - aws cloudhsm C_FindObjectsInit CKR_ATTRIBUTE_TYPE_INVALID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53835191/

相关文章:

amazon-web-services - 如何使用aws cloudformation模板安装iis服务

amazon-web-services - 对于使用 OAC 的 S3 丢失页面,CloudFront 返回 403 而不是 404

java - iText 对 PDF 进行数字签名,无需输入两次 PIN

java.util.logging.LogManager.getLogger() 返回 null

java - 在内部类中使用 "outer"类的方法

java - Artifactory的文档中,在/webapp下配置ssl反向代理的 `<public context>`的值是多少

amazon-web-services - 如何将图像访问限制为仅授权网站用户

java - PKCS#11 实例化问题

openssl - 用于 openSSL 的 PKCS#11 引擎

java - 使用 INNER JOIN 查询