【问题标题】:How a pair privatekey and certificate match together in IAIK PKCS11 Wrapper?IAIK PKCS11 Wrapper 中一对私钥和证书如何匹配?
【发布时间】:2019-06-30 10:26:14
【问题描述】:

我想在 java 中使用 pkcs11 令牌。因此,我使用“IAIK”作为 pkcs11 java 包装器。我可以搜索密钥和证书等对象,但找不到哪个密钥属于哪个证书。我使用“CryptoKi Manager”搜索令牌中的对象,它显示了证书和密钥之间的连接,如下图所示。然后我研究了PKCS11标准,它说有一个名为“certId”的字段声明了这个连接,但我在“IAIK”中找不到它。 “IAIK”是否在其证书对象中支持此功能?怎么样?

【问题讨论】:

    标签: java pkcs#11 iaik-jce


    【解决方案1】:

    此连接是通过CKA_ID 属性,引用PKCS#11 2.20 版:

    CKA_ID 字段旨在区分多个键。在公共场合 和私钥,该字段有助于处理同一主体持有的多个密钥;这 公钥的密钥标识符与其对应的私钥应该相同。这 密钥标识符也应该与相应证书的相同(如果存在)。 然而,Cryptoki 并不强制执行这些关联。 (更多信息请参见第 10.6 节 评论。)

    请注意,此关联不是强制执行的 (YMMV),但合理的实现会以这种方式运行。

    在 PKCS#11 包装器中使用 Key.getId()X509PublicKeyCertificate.getID() 方法。

    使用 IAIK-provider(请注意,您需要许可证)使用 IAIKPKCS11Key.getKeyID() 来配对公钥和私钥对象。我不知道如何从TokenKeyStore 获得的证书中获取CKA_ID 值。

    祝你好运!

    【讨论】:

    猜你喜欢
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2013-09-29
    • 2014-08-19
    相关资源
    最近更新 更多