Проверка OpenSSL не проходит с сертификатом, подписанным CA, но не с самоподписанным?

Проверка OpenSSL не проходит с сертификатом, подписанным CA, но не с самоподписанным?

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

Я следил заэто руководстводля включения аутентификации клиента с SSL, но я застрял на том, чтобы Apache принял клиентский сертификат. При более внимательном рассмотрении логи Apache заполнены Certificate Verification: Error (20): unable to get local issuer certificateсообщениями.

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

Чтобы более подробно диагностировать проблему, я запустил openssl verify -CAfile ca.cert client_signed.crtи получил ту же ошибку.

Я решил повторить все шаги. Однако, выполнение всего из командной строки все равно возвращает ту же ошибку

$ openssl x509 -req -days 360 -in client.csr -CA ca.cert -CAkey ca.key -CAcreateserial -out client_signed.crt
Signature ok
subject= ...
Getting CA Private Key
Enter pass phrase for server.key:
[I type in the password and press ENTER]
$ openssl verify -CAfile ca.cert client_signed.crt
[ .. ]
error 20 at 0 depth lookup:unable to get local issuer certificate
$ ls ca.cert
ca.cert

Чтобы полностью диагностировать проблему, я решил сгенерировать и самостоятельно подписать сертификат, который будет использоваться в качестве CA для подписи клиентского сертификата. К моему удивлению,это сработало безупречно. На самом деле это первый шаг в руководстве, ссылку на которое я привел.

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

$ ls /path/to/downloaded/files/
acrn.cer  ancca.crt  CorreoUruguayoCA.crt  CorreoUruguayoRootCA.crt
$ openssl verify -CApath /path/to/downloaded/files/ my.cert
error 20 at 0 depth lookup:unable to get local issuer certificate

Любая помощь будет оценена.

Редактировать: Использование утилиты «Просмотр файла» в Ubuntu показывает, что мой сертификат был Verified by: Correo Uruguayo - CA. Я не уверен, почему openssl не может его проверить.

Связанный контент