Назад | Перейти на главную страницу

Openssl «Самозаверяющий сертификат в цепочке сертификатов», когда сервер отправляет всю цепочку сертификатов с самозаверяющим сертификатом клиенту.

У меня есть следующая цепочка сертификатов:

Самоподписанный сертификат -> Промежуточный -> Сертификат клиента, Сертификат сервера. У меня есть приложение для связи 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 содержит второй промежуточный сертификат и самозаверяющий сертификат, и он отлично работает. Также сервер теперь не отправляет всю цепочку сертификатов, это то, как создано приложение.

Может кто-нибудь объяснить, почему это проблема, почему я не могу выполнить успешную проверку, если сервер и клиент имеют один и тот же промежуточный сертификат?