PKCS11Exception ckr_attribute_type_invalid

时间:2015-10-21 12:41:32

标签: java cryptography digital-signature keystore pkcs#11

我正在尝试创建一个密钥库来获取带有智能卡读卡器的私钥。

String config = "name = AKIS\nlibrary = C:/Windows/System32/akisp11.dll";
Security.addProvider(akisProvider);
KeyStore ks = KeyStore.getInstance("PKCS11", akisProvider);
ks.load(null, "000000".toCharArray());

但它给了我这个例外:

java.io.IOException: load failed
    at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:763)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at deneme.AkisImzaImpl.dene(AkisImzaImpl.java:55)
    at deneme.Deneme.main(Deneme.java:83)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID
    at sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue(Native Method)
    at sun.security.pkcs11.wrapper.PKCS11$SynchronizedPKCS11.C_GetAttributeValue(PKCS11.java:1623)
    at sun.security.pkcs11.P11KeyStore.mapLabels(P11KeyStore.java:2277)
    at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:755)
    ... 3 more

此代码一直工作到昨天。我无法弄清楚这个问题。如果你能帮助我,我会非常感激。

1 个答案:

答案 0 :(得分:1)

我已经解决了。没有任何ID的3个键中的一个是额外的。我联系了卡公司,我们删除了额外的密钥。现在加载没有问题。谢谢你的帮助。