Невозможно проверить сертификат SMTP в Ubuntu, но работает для Windows - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь отправить электронную почту, используя MailKit, через SMTP-сервер провайдера, используя действительный сертификат Let's Encrypt Authority X3 . В Windows все отлично работает, но при отправке из Ubuntu выдается ошибка сертификата:

MailKit.Security.SslHandshakeException: при попытке установить соединение SSL или TLS произошла ошибка.

Возможно, вы пытаетесь подключиться к порту, который не поддерживает SSL / TLS.

Другая возможность состоит в том, что сертификат SSL, представленный сервером, не является доверенным для системы по одной или нескольким из следующих причин:

  1. Сервер использует самозаверяющий сертификат, который невозможно проверить.
  2. В локальной системе отсутствует корневой или промежуточный сертификат, необходимый для проверки сертификата сервера. (я полагаю, это моя проблема?)
  3. Срок действия сертификата, выданного сервером, истек или недействителен.

Когда я копаю глубже в статус сети X509, он говорит:

RevocationStatusUnknown не удалось получить сертификат CRL

До сих пор я игнорировал эту ошибку, но я бы предпочел исправить основную проблему и не знаю, что именно мне не хватает. Спасибо.

1 Ответ

0 голосов
/ 03 апреля 2019

Если вы запускаете приложение .NET в Mono, есть FAQ по Mono, в котором объясняется, как импортировать корневые сертификаты в хранилище сертификатов: https://www.mono -project.com / docs / faq / security /

Если вы используете .NET Core CLR, вам может пригодиться этот ответ: Доверенные корневые сертификаты в DotNet Core в Linux (RHEL 7.1)

...