我有一个用于数字签名的小程序。我的问题是初始化 keystore ,但在您关闭浏览器之前它一直保持打开状态。每次我要签名时如何询问 PIN 码?
这是初始化代码:
/* Se obtiene el proveedor del contenedor de claves */
pkcs11config = "name=Athena\nlibrary=C:\\Windows\\system32\\asepkcs.dll";
byte[] pkcs11configBytes1 = pkcs11config.getBytes();
ByteArrayInputStream configStream1 = new ByteArrayInputStream(pkcs11configBytes1);
BouncyCastleProvider providerBC = new BouncyCastleProvider();
Security.addProvider(providerBC);
//Cargo el proveedor de la CIPE
providerPKCS11 = new SunPKCS11(configStream1);
Security.addProvider(providerPKCS11);
ks = KeyStore.getInstance("PKCS11", providerPKCS11);
ks.load(null, null);
谁能告诉我怎么解决?谢谢。
最佳答案
PKCS#11 提供商只会在需要时要求 PIN。如果为正在使用的 token key 设置了 CKA_ALWAYS_AUTHENTICATE
标志,则每个操作只需要它。要允许输入用户 PIN,必须根据 PKCS#11 provider documentation 实现回调处理程序。 .
关于java - 始终询问密码 KeyStore PKCS11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23091859/