有什么方法可以调试导致Sun PKCS#11包装异常的原因:

sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCONSISTENT


我想知道PKCS#11对象的哪个属性不一致并进行修复。

最佳答案

准确地找到缺少或提供不正确的属性是非常棘手的。解决此问题的唯一方法是反复试验。由于此异常是由令牌抛出的,因此不会被记录下来,这使得解决起来非常困难。

我建议首先更好地了解您正在处理的令牌类型。这将使您更好地了解预期的对象模板类型。

例如,如果令牌仅允许您创建sensitive键,则如果将属性值设置为false,则令牌会抱怨。因此,您必须尝试组合属性,并查看其是否成功创建了对象。

您可以做的另一件事是,如果令牌随附其自己的sdk或工具,它们可以与令牌交互并创建对象,使用其sdk / tool创建测试对象,然后使用PKCS#11接口提取对象并查看其具有的模板。您可以将其用作基本模板。

如果不是,则可以尝试以最小的模板开始创建具有所需值的对象,例如:


ID(一些随机值)
标签(别名)
令牌(建议真)
敏感(真推荐)
算法/机制(CKM_RSA_PKCS_KEY_PAIR_GEN / CKM_AES_KEY_GEN)
密钥类型(CKK_RSA / CKK_AES)
值长度(可选)
类(可选)

09-04 12:53