java - Sun PKCS#11 包装器如何调试 CKR_TEMPLATE_INCONSISTENT

标签 java pkcs#11

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

sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCONSISTENT

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

最佳答案

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

我建议首先更好地了解您正在处理的 token 类型。这将使您更好地了解所需的对象模板类型。

例如,如果 token 仅允许您创建敏感 key ,则如果您将属性值设置为false,则 token 会提示。所以你必须尝试属性的组合,看看是否能成功创建对象。

您可以做的另一件事是,如果 token 附带自己的 sdk 或工具,可以与 token 交互并创建对象,使用其 sdk/工具创建测试对象,然后使用 PKCS#11 接口(interface)提取对象并查看它有什么模板。您可以使用它作为基本模板。

如果没有,您可以尝试从最小模板开始创建一个具有所需值的对象,例如:

  • Id(一些随机值)
  • 标签(别名)
  • token (真正推荐)
  • 敏感(真正推荐)
  • 算法/机制(CKM_RSA_PKCS_KEY_PAIR_GEN/CKM_AES_KEY_GEN)
  • key 类型(CKK_RSA/CKK_AES)
  • 值长度(可选)
  • 类别(可选)

关于java - Sun PKCS#11 包装器如何调试 CKR_TEMPLATE_INCONSISTENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48767268/

相关文章:

key - gnome key 环 pkcs11 警告

java - 将 Clojure 添加到 Java 项目时出现问题

java - 升级到 spring 5.0.7.RELEASE 导致 parseStringValue 出现问题

java - 获取特定包内的文件

Java 小程序无法访问 Firefox 证书存储

java - 列出 Java 中的所有智能卡插槽

java - PKCS11机制差异+JAVA

java - JCA/JCE 和 PKCS#11 如何(一起)工作?

java - 重命名所有使用 wsimport 生成的异常类

java - 获取复杂对象的声明方法