我想使用java中的pkcs11令牌。因此,我使用"IAIK“作为pkcs11 java包装器。我可以搜索像键和证书这样的对象,但是找不出哪个键属于哪个证书。我在令牌中使用了"CryptoKi管理器“来搜索对象,它显示了证书和密钥之间的连接,如下所示。然后我研究了PKCS11标准,它说有一个名为"certId“的字段声明了这种联系,但我在”it“中找不到它。"IAIK“在其证书对象中支持此特性吗?多么?

发布于 2019-06-30 16:06:47
此连接是通过CKA_ID属性进行的,引用了PKCS#11版本2.20:
CKA_ID字段用于区分多个键。对于公钥和私钥,该字段帮助处理由同一主题持有的多个密钥;公钥的密钥标识符及其相应的私钥应该是相同的。如果存在相应的证书,则密钥标识符也应该与相应的证书相同。然而,Cryptoki并不强制执行这些关联。(进一步评注见第10.6节)。
请注意,这种关联不是强制的(YMMV),而是以这种方式运行的。
在Key.getId()包装器中使用PKCS#11和X509PublicKeyCertificate.getID()方法。
对于IAIK(请注意,您需要许可证),请使用IAIKPKCS11Key.getKeyID()对公钥和私钥对象进行配对。我不知道如何从从CKA_ID获得的证书中获得TokenKeyStore值。
祝好运!
https://stackoverflow.com/questions/56824091
复制相似问题