Подтверждение связи SSL не удается на Mac

Немного предыстории. Я пытаюсь подключиться к Confluents Kafka Clound с помощью драйвера.NET, внутренне использующего собственный механизм RdKafka.

С моей машины не удается установить соединение

рдкафка # продюсер-1| [thrd:sasl_ssl://url_to_cluster: sasl_ssl://url_to_bootstrap: Ошибка установления связи SSL: s3_clnt.c:1269: ошибка:14090086: процедуры SSL:ssl3_get_server_certificate: проверка сертификата не удалась: (после 75 мс в состоянии CONNECT)

У клиента есть EnableSslCertificateVerification свойство, и если я установил это на false все работает нормально.

Но игнорируйте здесь информацию, связанную с.NET и Kafka, только фон. Что на моей машине здесь задействовано? Мне не хватает каких-то сертификатов на местном уровне?

У меня установлен openssl, который afaik по умолчанию доверяет кучу корневых сертификатов.

Он отлично работает для всех коллег, даже для пользователей Mac с последними обновлениями ОС. Он также работает на моей машине, если я запускаю его из Docker.

Что я могу проверить, чтобы решить эту проблему?

2 ответа

Librdkafka не использует OSX Keychain/store, но полагается на файлы сертификатов CA на диске. Пакет openssl brew извлекает сертификаты CA из магазина и записывает их на диск при установке, поэтому либо установите openssl через homebrew, либо возьмите cacert.pem из Mozilla/curl и затем укажите SslCaLocation туда, где вы его хранили.

Вам необходимо установить сертификат CA, которым был подписан сертификат TLS сервера. Вы не предоставили эту информацию, но вы можете достаточно легко проверить конфигурацию сервера, например:

openssl s_client -connect <server>:<port> -showcerts
Другие вопросы по тегам