Java: определить тип хранилища ключей из файла хранилища ключей - PullRequest
0 голосов
/ 10 декабря 2018

Итак, у меня есть приложение, в котором я разрешаю пользователю настроить сервер с HTTPS.Сервер использует Undertow.Чтобы добавить обработчик HTTPS в Undertow, мне нужно вызвать функцию Keystore.getInstance ("JKS"), которая возвращает реализацию, основанную на поставщике.Java изначально поддерживает только 3 провайдера (JKS, PKCS12 и JCEKS), но, насколько я понимаю, вы можете добавить своего собственного провайдера реализации Keystore.

Так что мой вопрос, учитывая только файл хранилища ключей, можно ли определить,какой тип Keystore это?Я не могу полагаться на расширение файла, так как хранилища ключей PKCS12 могут также храниться в расширении .p12.Могу ли я получить это значение программно, чтобы передать его в Keystore.getInstance (), или мне просто нужно принять этот ввод от пользователя?

1 Ответ

0 голосов
/ 10 декабря 2018

В настоящее время в WildFly реализуется такая функция с использованием проекта Elytron.Вы можете посмотреть [1].

Некоторые хранилища ключей можно различить по шаблону формата.Но я думаю, что в вашем случае проще всего попытаться загрузить один за другим Keystore.getInstance ("PKCS12"), Keystore.getInstance ("JKS"), Keystore.getInstance ("JCEKS") и посмотреть, какой из них проходит.

Также я думаю, что пользователь будет в порядке с предоставлением типа хранилища ключей.

[1] https://issues.jboss.org/browse/WFCORE-4058

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...