То, что мы пытаемся сделать, это отправить электронное письмо от модуля (под управлением Linux на основе образа «microsoft / dotnet») в клиентской среде Openshift с использованием MailKit:
https://github.com/jstedfast/MailKit
При попытке установить рукопожатие SSL возникает исключение:
MailKit.Security.SslHandshakeException: ошибка произошла во время
попытка установить соединение SSL или TLS.
System.Security.Cryptography.CryptographicException: Произошла ошибка
во время криптографической операции
Мы также пытались использовать SMTP-клиент .NET, и он работал (с использованием безопасного соединения)! К сожалению, этот компонент устарел, и Microsoft рекомендует использовать MailKit.
Проходя через исходный код .NET, возникшее исключение - это универсальное исключение перехвата всех, которое выглядит так, как будто оно происходит от неожиданного кода, возвращенного из библиотеки OpenSSL. К сожалению, я не вижу, как получить код ошибки (он регистрируется с помощью «Debug.Fail», но я не могу настроить трассировку, чтобы увидеть его), поэтому я не уверен, что это такое.
Я написал тест только для сборки X509 Chain. Когда у нас установлен режим отзыва онлайн (по умолчанию), мы получаем исключение. Когда аннулирование аннулируется, кажется, что цепочка строится нормально.
Когда я запускаю тест в нашей среде Test Openshift, которая полностью независима от клиента, мы получаем следующую ошибку, но не видим исключения: «невозможно получить сертификат CRL»
Единственное, что я заметил в Списке отзыва, - это наличие URL-адресов LDAP и HTTP. Возможно, существует проблема с обработкой URL-адреса LDAP?
Любая помощь в этом будет оценена!