有什么方法可以调试导致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)
值长度(可选)
类(可选)