Как указать промежуточные сертификаты для s_client и s_server? - PullRequest
0 голосов
/ 21 марта 2019

openssl verify имеет опцию -untrusted для указания цепочки промежуточных сертификатов, которые стоят между

  • сертификат корневого ЦС, который указывается с параметром -CAfile или -CApath
  • и листовой сертификат для проверки, который приводится в качестве последних аргументов

Кто-нибудь знает, как мы указываем промежуточную цепочку сертификатов для команд openssl s_client и openssl s_server? Страницы руководства, к сожалению, ничего не говорят об этом.

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

1 Ответ

1 голос
/ 21 марта 2019

Meta: на самом деле это не вопрос программирования или разработки.Вместо этого он может принадлежать суперпользователю или, возможно, security.SX.

Для версий OpenSSL 1.1.0 (выпущенных 2016-08) и выше вы можете предоставить (точные) промежуточные / цепные сертификаты в файле, используя -cert_chain и / или вы можете указать -build_chainи используйте -chainCAfile и / или -chainCApath, из которых выбираются необходимые сертификаты, аналогично тому, как традиционно используются -CAfile и -CApath.Тем не менее, они не документированы в 1.1.0, только 1.1.1 (2018-09);просмотреть эти справочные страницы, если они у вас установлены, или в Интернете для s_client и s_server .

Для более низких версий вам необходим ключ: -CAfile и-CApath, которые номинально предоставляют склад доверенных сертификатов для проверки сертификата peer , также используются (неявно) для завершения вашей собственной (собственной) цепочки.Обратите внимание, что некорневые сертификаты CA в хранилище доверенных сертификатов используются для построения цепочек как для отправки, так и для проверки (получения), но не в качестве проверочных якорей в этих версиях, поэтому их включение никогда не меняет того, какие сертификаты одноранговых узлов фактически принимаются какдействительный.(В 1.1.0 и 1.1.1 они по-прежнему не являются якорями по умолчанию, но если вы укажете -partial_chain.)

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