С сервера получен недействительный сертификат. Код ошибки: 0xffffffff800b010a Mono

Я пытаюсь отправить сообщение в Mono через мое приложение, используя порт 587 с SSL, smtp.gmail.com, и получаю:

System.Net.Mail.SmtpException: сообщение не может быть отправлено. ---> System.IO.IOException: не удалось выполнить аутентификацию или дешифрование. ---> System.IO.IOException: не удалось выполнить аутентификацию или дешифрование. ---> Mono.Security.Protocol.Tls.TlsException: недействительный сертификат, полученный от сервера. Код ошибки: 0xffffffff800b010a

Самое интересное, что на той неделе все работало и сообщения отправлялись. Теперь я ошибаюсь. Я тоже пробовал mozroots --import, но это не помогло. Также я обновил сертификат GoogleInternetAuthorityG2.crt, но это не помогает.

Ubuntu 16.04 с Mono 4.6.2 (стабильная 4.6.2.7/08fd525)


person ruslanen    schedule 21.04.2017    source источник


Ответы (2)


Mono 4.8 или выше приносит новый стек TLS, поддерживающий многие дополнительные алгоритмы шифрования, пожалуйста, обновите.

person knocte    schedule 25.04.2017
comment
Я не пользуюсь 4.6.2 (стабильная 4.6.2.7/08fd525) - person ruslanen; 26.04.2017
comment
затем снова, пожалуйста, обновите - person knocte; 26.04.2017

Попробуйте это перед отправкой сообщения (это своего рода взлом, но на Mono это единственное, что у меня сработало ..)

ServicePointManager.ServerCertificateValidationCallback =
    delegate(object s, X509Certificate certificate,
             X509Chain chain, SslPolicyErrors sslPolicyErrors)
    { return true; };
person Küzdi Máté    schedule 21.04.2017
comment
это серьезная угроза безопасности, пожалуйста, избегайте этого, если можете - person knocte; 25.04.2017
comment
Это необходимо, чтобы преодолеть препятствие для входа в Google, хотя я возвращаю его к предыдущему значению после того, как закончу, на случай, если это подвергнет слишком много рисков. - person bigp; 15.06.2017
comment
В сообщении об ошибке указано, что аутентификация или расшифровка не удались. Этот обходной путь применяется к первому (сбой аутентификации), но не ко второму (сбой дешифрования). YMMV. - person MattDavey; 09.01.2018