Java itext-can';t使用另一个usb令牌签署pdf
因此,我写了一个程序,可以签署pdf使用usb令牌和一切都很好,我试图签署使用另一个令牌从同一家公司(同一供应商),但不同的风格(没有指纹),我甚至不能得到登录窗口显示。 这是我得到的错误:Java itext-can';t使用另一个usb令牌签署pdf,java,pdf,itext,pkcs#11,Java,Pdf,Itext,Pkcs#11,因此,我写了一个程序,可以签署pdf使用usb令牌和一切都很好,我试图签署使用另一个令牌从同一家公司(同一供应商),但不同的风格(没有指纹),我甚至不能得到登录窗口显示。 这是我得到的错误: SEVERE: null java.io.IOException: load failed at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:763) at java.security.KeyStore.load(
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
这解决了我的问题
这就解决了我的问题也许这个问题可以帮助你:@eightShirt谢谢。。。。我添加了char[]pass=“12345678.tocharray();和ks.load(null,pass);但这不是我需要的,第一个令牌我不必设置密码的pin。。。它只会显示一个登录窗口…我需要做同样的事情,因为这个问题可以帮助你:@eightShirt谢谢。。。。我添加了char[]pass=“12345678.tocharray();和ks.load(null,pass);但这不是我需要的,第一个令牌我不必设置密码的pin。。。它将只是显示一个登录窗口…我需要做的sameThank你张贴解决方案,你自己的问题。这将在将来帮助其他人。感谢您发布您自己问题的解决方案。这将在将来帮助其他人。
String pass="";
KeyStore.PasswordProtection pp = new keyStore.PasswordProtection(pass.toCharArray());
ks.load(null , pp.getPassword() );