SSL на tomcat с подстановочным сертификатом - PullRequest
0 голосов
/ 31 октября 2019

У меня есть приложение, которое должно работать на tomcat 7 только для Windows, так как мой клиент / клиент хочет, чтобы HTTPS был реализован на tomcat.

Я могу запустить tomcat на https с самозаверяющим сертификатом.

Но проблема в том, что клиент сказал мне, что «сертификат известного CA» будет подстановочным сертификатом, и мне нужно создать пакетный файл, который принимает только один вход, т. Е. Местоположение сертификата и сценарий / пакетследует сделать все остальное, сертификаты ROOT и INTERMEDIATE не будут предоставлены, он сказал, что я должен извлечь его из сертификата MAIN, который может иметь любое расширение.

Можно ли извлечьКорневой и промежуточный сертификат из основного сертификата.

Какие бы шаги.

PS: Я новый с реализацией SSL

TIA

1 Ответ

0 голосов
/ 11 ноября 2019

Я не совсем уверен, каков точный вариант использования.

Я могу вспомнить два возможных случая:

  • Ваш клиент хочет поддерживать клиентские сертификаты на основеаутентификация. Поэтому им нужно просто предоставить файл сертификата для каждого клиента, который ваш скрипт должен автоматически добавить в склад доверенных сертификатов вместе с извлеченными промежуточными и корневыми сертификатами.
  • Ваш клиент хочет поддерживать несколько сертификатов сервера на одной установке сервера (например, несколько SSLHostConfig) или на разных установках. Поэтому им нужен способ автоматизации конфигурации сертификата сервера, просто предоставив один файл сертификата сервера вашему сценарию, который может снова потребовать извлечения промежуточного и корневого файлов для отправки клиентам во время рукопожатия https.

Ваш вопрос ниже может относиться к обоим случаям:

"Возможно ли извлечь корневой и промежуточный сертификат из основного сертификата."

Сертификат может быть предоставлен вашим клиентом в виде файла подписи следующими способами:

  • Файл, содержащий несколько сертификатов x509 PEM / DER, образующих цепочку сертификатов. например, сам сертификат, промежуточный и корневой каталог и, возможно, закрытый ключ.
  • Хранилище ключей (JKS или P12), содержащее вышеуказанную цепочку сертификатов и, возможно, закрытый ключ.
  • Файл, содержащийодин сертификат PEM / DER

Ответ:

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

В последнем случае информация, содержащаяся в сертификате для родительского элемента (например, промежуточного сертификата), представляет собой Issuer: информация, которая сама по себе не является сертификатом.
Один из возможных способов для получения сертификата эмитента в этом случае - чтение CA Issuers ссылки из Authority Information Access (AIA) расширение (если оно присутствует в сертификате) и затем извлечение сертификата оттуда.

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

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

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