Java 在IAIK PKCS11包装器中,一对私钥和证书如何匹配?
我想在java中使用pkcs11令牌。因此,我使用“IAIK”作为PKCS11Java包装器。我可以搜索像密钥和证书这样的对象,但我无法找出哪个密钥属于哪个证书。我在令牌中使用“CryptoKi管理器”搜索对象,它显示了证书和密钥之间的连接,如下图所示。然后我研究了PKCS11标准,它说有一个名为“certId”的字段声明了这个连接,但我在“IAIK”中找不到它。“IAIK”在其证书对象中是否支持此功能?怎么做Java 在IAIK PKCS11包装器中,一对私钥和证书如何匹配?,java,pkcs#11,iaik-jce,Java,Pkcs#11,Iaik Jce,我想在java中使用pkcs11令牌。因此,我使用“IAIK”作为PKCS11Java包装器。我可以搜索像密钥和证书这样的对象,但我无法找出哪个密钥属于哪个证书。我在令牌中使用“CryptoKi管理器”搜索对象,它显示了证书和密钥之间的连接,如下图所示。然后我研究了PKCS11标准,它说有一个名为“certId”的字段声明了这个连接,但我在“IAIK”中找不到它。“IAIK”在其证书对象中是否支持此功能?怎么做 此连接通过引用PKCS 11 2.20版的CKA_ID属性进行: CKA_ID字段用
此连接通过引用PKCS 11 2.20版的
CKA_ID
属性进行:
CKA_ID字段用于区分多个键。就公众而言
和私钥,该字段帮助处理同一主体持有的多个密钥;这个
公钥及其对应私钥的密钥标识符应相同。这个
密钥标识符还应与相应证书(如果存在)的密钥标识符相同。
然而,Cryptoki并不强制执行这些关联。(详见第10.6节)
评论。)
请注意,这种关联不是强制的(YMMV),但sane实现是以这种方式进行的
PKCS#11包装中的用法和方法
使用IAIK提供程序(请注意,您需要许可证)来配对公钥和私钥对象。我不知道如何从从获得的证书中获取CKA\u ID
值
祝你好运 这里有非常好的例子: