[英]aws cloudhsm C_FindObjectsInit CKR_ATTRIBUTE_TYPE_INVALID
使用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庫供應商提供的文檔中應提供啟用日志記錄所需的確切步驟。
來自AWS支持有關此問題:cloudhsm不接受C_FindObjectsInit
調用的任何允許的機制屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.