Подтверждение связи 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