Исключение CryptographicException при настройке рукопожатия SSL с MailKit с использованием .NET Core - PullRequest
0 голосов
/ 06 марта 2019

То, что мы пытаемся сделать, это отправить электронное письмо от модуля (под управлением 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?

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

1 Ответ

0 голосов
/ 06 марта 2019

Об этом вы должны сообщить на github.com/microsoft/dotnet

.
...