我试图在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机器有什么问题。
请帮助我
谢谢
答案 0 :(得分:0)
我遇到了同样的问题,并确认资源已从"PKCS11 Token [providerName] Password:"
更改为"PKCS11.Token.providerName.Password."
,因此SUNPKCS11
对"PKCS11 Token [providerName] Password: "
的调用必须更改为新值。
最好的问候。
答案 1 :(得分:0)
将JDK版本更改为JDK6解决了我的问题。