1

Мы пытаемся создать приложение node.js, которое должно взаимодействовать с сервером через HTTPS (> TLS v1.2). Нам дан некоторый список ключевых, сертифицированных файлов для установления соединения с сервером. Узел HTTPS требует CA, сертификат, файлы ключей, которые являются файлом CA, сертификатом сервера и файлами ключей. При их получении мы получаем следующую ошибку:

Error: unhandled critical extension.

Проведя некоторое время в интернете, мы обнаружили, что сертификат CA имеет несколько пользовательских расширений. Позже, когда мы сделали openssl verify -CAfile ca_file.pem server_cert.pem мы могли бы воспроизвести его:

error 34 at 0 depth lookup:unhandled critical extension
OK

Так что, похоже, это как-то связано с OpenSSL. Как мы заставляем OpenSSL понимать наши пользовательские расширения? Эти пользовательские расширения также важны, поэтому мы не можем просто игнорировать ошибку, установив -ignore_critical .

1 ответ1

0

Я получил ошибку ssl в openvpn.

VERIFY ERROR: depth=1, error=unhandled critical extension: CN=xxxx
OpenSSL: error:xxx:SSL routines:tls_process_server_certificate:certificate verify failed

Я понимаю это, поскольку ЦС настаивает на том, что некоторые значения являются критическими, а в сертификате их нет или они неверны.

Что исправило это для меня с помощью OpenVPN, так это то, что для subjectKeyIdentifier, для которого было установлено значение критического = True, было установлено значение False в CA.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .