java - 始终询问密码 KeyStore PKCS11

标签 java passwords keystore smartcard pkcs#11

我有一个用于数字签名的小程序。我的问题是初始化 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/

相关文章:

java - C++ vector 、java 数组等效吗?

java - TeamCity 构建中没有代码检查选项卡 (FindBugs)

Android - keystore 、应用内购买和外包开发

java - java 的 Finished 部分握手失败,但curl 则不然

docker - 将新的 keystore 添加到 artifactory 会中断现有的 https 连接

java - 我的程序可以运行,但在应该打印时却无法打印

java - 助教 bash 脚本,用于自动执行查找、编译和运行 .java 文件的过程

java - 如何排除空格作为我的正则表达式的输入

hash - 为什么我需要将原始盐添加到密码的每次哈希迭代中?

passwords - mysqld.log 中没有临时密码