在Java 9中替换DialogCallbackHandler

时间:2019-06-12 16:25:47

标签: java java-11 pkcs#11

我正在将SunPKCS11与NSS结合使用,以从智能卡获取客户端证书。为了获得PIN,我使用DialogCallbackHandler。这些都在java.security文件中指定。

我需要一种提示用户输入PIN的方法。 不能存储,不能从文件中读取,不能作为命令行参数传递等等。

请注意,我无法控制用于身份验证的代码。它使用标准的Java安全性实现。

我研究了CallbackHandler的所有Java 11实现。他们似乎都没有做我想要的事情。

以下是 java.security 中的相关代码行,它们在Java 8中有效,但在Java 9中无效:

security.provider.10=sun.security.pkcs11.SunPKCS11 /etc/pkcs11.cfg
auth.login.defaultCallbackHandler=com.sun.security.auth.callback.DialogCallbackHandler

当请求客户端证书认证时,应该像 DialogCallbackHandler 一样提示用户输入PIN。

  1. 是否可以直接替换 DialogCallbackHandler
  2. 如果对#1的回答为,则Java 8具有认可目录,您可以在其中添加其他JAR。 Java 9+中有类似的功能吗?我可以简单地使用DialogCallbackHandler创建一个JAR并将其添加到某个地方,以使其在系统范围内生效吗?

0 个答案:

没有答案