Замена для DialogCallbackHandler в Java 9 - PullRequest
0 голосов
/ 12 июня 2019

Я использую SunPKCS11 с NSS для получения сертификата клиента со смарт-карты. Для получения PIN я использую DialogCallbackHandler. Они оба указаны в файле java.security.

Мне нужен способ запросить у пользователя его PIN-код. Он не может быть сохранен, прочитан из файла, передан в качестве аргумента командной строки и т. Д.

Обратите внимание, что я не контролирую код, используемый для аутентификации. Он использует стандартную реализацию безопасности Java.

Я посмотрел на все реализации Java 11 CallbackHandler. Кажется, никто из них не делает то, что я хочу.

Вот соответствующие строки из 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 .

  1. Есть ли замена для DialogCallbackHandler ?
  2. Если ответом на вопрос # 1 является no , в Java 8 был каталог одобренный , куда можно добавить дополнительные JAR-файлы. Есть ли подобное средство в Java 9+? Могу ли я просто создать JAR с DialogCallbackHandler и добавить его куда-нибудь, чтобы он действовал в масштабе всей системы?
...