У меня есть следующая цепочка сертификатов:
Самоподписанный сертификат -> Промежуточный -> Сертификат клиента, Сертификат сервера. У меня есть приложение для связи ssl, а также проверяю настройки однорангового узла. Я пытаюсь проверить эту цепочку с помощью openssl s_client
команда и я получаю Verify return code: 19 (self signed certificate in certificate chain)
. Сервер отправляет всю цепочку в рукопожатии.
Я попытался проверить это с помощью Bundle.pem, который содержит самоподписанные и промежуточные сертификаты, а также с Self-signed.pem, но результат тот же.
openssl s_client -msg -connect localhost:1500 -CAfile Self-signed.pem/Bundle.pem -cert Client.crt -key Client.key
Затем я выпустил еще один промежуточный сертификат, и из него я выпустил новый сертификат сервера.
openssl s_client -msg -connect localhost:1500 -CAfile Bundle2.pem -cert Client.crt -key Client.key
Bundle2.pem содержит второй промежуточный сертификат и самозаверяющий сертификат, и он отлично работает. Также сервер теперь не отправляет всю цепочку сертификатов, это то, как создано приложение.
Может кто-нибудь объяснить, почему это проблема, почему я не могу выполнить успешную проверку, если сервер и клиент имеют один и тот же промежуточный сертификат?