Доступ к хранилищу сертификатов Windows

Можно ли настроить wildfly/undertow для доступа к сертификату X.509, расположенному в хранилище сертификатов Windows, вместо файла, представляющего хранилище ключей, например:

<server-identities> <ssl protocol="..."> <keystore path="name-of-the-certificate" relative-to="jboss-module-which-can-access-to-the-windows-certificate-store" keystore-password="..." alias="..." key-password="..." /> </ssl> </server-identities>

2 ответа

Решение

Это действительно зависит от JVM, на которой вы работаете. Вам нужно настроить провайдера безопасности на тот, который поддерживает ваш jvm для работы с хранилищем ключей Windows. В случае Oracle JDK / OpenJDK вы можете найти список поставщиков здесь

Пример конфигурации может быть:

<keystore provider="SunMSCAPI" path="name-of-key-in-ms-keystore" .../> 

но это действительно зависит от JVM, который вы используете, и других факторов.

Поскольку мы использовали более старую версию Wildfly (10) и это решение не работало должным образом, мы проверили исходный код для разных провайдеров.

Он изменится с поставщика файлов на другого поставщика только в том случае, если путь не установлен. Кроме того, он отправляет только один параметр в компонент Java KeyStore, что не позволяет совместно использоватьSunMSCAPIиWINDOWS-MY(например).

В итоге получается вот так(keystore-passwordнельзя опустить):

      <keystore provider="WINDOWS-MY" keystore-password="thisisnotneededbutrequired"/>

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

Другие вопросы по тегам