Итак, я сейчас создаю приложение Xamarin.Android, и какое-то время оно использовало мой REST API, который я создал, для связи с данными взад и вперед.
Однако недавно я переключил свой сертификат SSLк LetsEncrypt, который вызвал следующее исключение при попытке связаться с моим API из моего приложения:
Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
Что, как я предполагаю, означает, что он не был проверен правильно.Ниже я нашел следующий фрагмент, который проверяет запрос только с моего домена и проходит через него, и это работает.
Однако мой вопрос таков.Это безопасно?Может ли это привести к тому, что человек в середине атаки, или я в порядке?
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicy) =>
{
if (sslPolicy == SslPolicyErrors.None)
return true;
if (sslPolicy == SslPolicyErrors.RemoteCertificateChainErrors &&
((HttpWebRequest)sender).RequestUri.Authority.Equals("MY_API_DOMAIN"))
return true;
return false;
};