我的机器睡眠后无法通过Java应用程序使用智能卡签名:获取PKCS11异常:CKR_GENERAL_ERROR

Ped*_*olo 5 java cryptography smartcard digital-signature pkcs#11

我有一个使用智能卡执行数字签名的应用程序.如果我的系统睡眠并且稍后醒来(包括windows和mac),我的调用从此signature.sign开始用sun.security.pkcs11.wrapper.PKCS11Exception: CKR_GENERAL_ERRORProviderException进行清理

你有没有想过如果没有这个麻烦的错误我应该如何让我的程序再次签名?

Ped*_*olo 0

我注意到,可以通过从读卡器中取出卡,尝试在读卡器中没有任何卡的情况下再次签名(因此故意失败),然后将卡放入读卡器中并尝试再次签名来恢复此错误。

由于此行为取决于取出卡,因此我处理错误的方式是请求用户在某些时刻取出并放入卡。