缺少资源异常无法找到资源包sun.security.util.Resources,密钥PKCS11令牌[提供者]密码

时间:2013-01-29 03:20:54

标签: keystore pkcs#11

我试图在Windows 2008 64bit机器上使用sunjava jdk 7 update 11加载pkcs11密钥库。我面临的问题是我能够获得密钥库实例

Keystore ks = Keystore.getInstance("PKCS11", provider);

但是当我说

keystore.load(null, "pwdstring".toCharArray[])

在这一行iam面临一个错误说,请找到stacktrace

java.util.MissingResourceException: Can't find resource for bundle sun.security.util.Resources, key PKCS11 Token [providerName] Password: 
    at java.util.ResourceBundle.getObject(ResourceBundle.java:393)
    at java.util.ResourceBundle.getString(ResourceBundle.java:353)
    at sun.security.util.ResourcesMgr.getString(ResourcesMgr.java:52)
    at sun.security.pkcs11.SunPKCS11.login(SunPKCS11.java:1084)
    at sun.security.pkcs11.P11KeyStore.login(P11KeyStore.java:874)
    at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:764)
    at java.security.KeyStore.load(KeyStore.java:1214)
    at HSM_TokenSunjava.main(HSM_TokenSunjava.java:37)

还有一个相同的代码和相同的PKCS11令牌我能够在我的机器Windows 64bit上运行我不明白Windows 2008机器有什么问题。

请帮助我

谢谢

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并确认资源已从"PKCS11 Token [providerName] Password:"更改为"PKCS11.Token.providerName.Password.",因此SUNPKCS11"PKCS11 Token [providerName] Password: "的调用必须更改为新值。

最好的问候。

答案 1 :(得分:0)

将JDK版本更改为JDK6解决了我的问题。