所以我写了一个程序,可以使用usb令牌签署pdf,一切都很好,我试图使用同一公司(相同的提供商)但不同的风格(没有指纹)的另一个令牌签名,我甚至无法登录窗口出现。 这是我得到的错误:
SEVERE: null
java.io.IOException: load failed
at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:763)
at java.security.KeyStore.load(KeyStore.java:1445)
Caused by: javax.security.auth.login.LoginException: no password provided, and no callback handler available for retrieving password
at sun.security.pkcs11.SunPKCS11.login(SunPKCS11.java:1184)
at sun.security.pkcs11.P11KeyStore.login(P11KeyStore.java:849)
at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:751)
... 40 more
答案 0 :(得分:4)
String pass="";
KeyStore.PasswordProtection pp = new keyStore.PasswordProtection(pass.toCharArray());
ks.load(null , pp.getPassword() );
解决了我的问题