java - 在 Java 9 中替换 DialogCallbackHandler
问题描述
我正在使用带有 NSS 的 SunPKCS11 从智能卡获取客户端证书。为了获得 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
当请求客户端证书身份验证时,应该提示用户输入他们的 PIN,就像他们使用DialogCallbackHandler 一样。
- 是否有DialogCallbackHandler的替代品?
- 如果 #1 的答案是否定的,Java 8 有一个背书目录,您可以在其中放入额外的 JAR。Java 9+ 中是否有类似的功能?我可以简单地使用 DialogCallbackHandler 创建一个 JAR 并将其添加到某个地方以便它在系统范围内生效吗?
解决方案
推荐阅读
- c# - 如何在 c# 中将图像保存为具有透明度的 gif?
- android - 如果 VPN 应用程序被杀死,它会发生什么?
- java - 应用程序关闭时如何每小时触发一次警报
- c++ - 从传递给新线程 C++ 的向量中擦除项目
- typescript - 将 stellar-sdk 导入 Angular 8 项目时出错
- powershell - 为什么 AllowNull() 什么都不做?
- c - 从c程序中的子程序返回数组
- amazon-web-services - 删除消息时如何处理 AWS SQS ReceiptHandleIsInvalid 错误?
- excel - 使用 ListObjects 将命名范围分配给数组时如何修复下标超出范围错误?
- ios - 如果我实现了decisionPolicyFor navigationAction,WKWebView 为空,如果我删除该函数,则正确加载