Tüm sertifikalara izin vermek çok güçlü ancak tehlikeli de olabilir. Yalnızca geçerli sertifikalara ve bazı belirli sertifikalara izin vermek istiyorsanız, bu şekilde yapılabilir.
Net çekirdek:.
using (var httpClientHandler = new HttpClientHandler())
{
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, sslPolicyErrors) => {
if (sslPolicyErrors == SslPolicyErrors.None)
{
return true; //Is valid
}
if (cert.GetCertHashString() == "99E92D8447AEF30483B1D7527812C9B7B3A915A7")
{
return true;
}
return false;
};
using (var httpClient = new HttpClient(httpClientHandler))
{
var httpResponse = httpClient.GetAsync("https://example.com").Result;
}
}
Net çerçeve:
System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate (
object sender,
X509Certificate cert,
X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
if (sslPolicyErrors == SslPolicyErrors.None)
{
return true; //Is valid
}
if (cert.GetCertHashString() == "99E92D8447AEF30483B1D7527812C9B7B3A915A7")
{
return true;
}
return false;
};
Güncelleme:
cert.GetCertHashString()
Chrome'da nasıl değer elde edilir :
Adres çubuğunda Secure
veya üzerine tıklayın Not Secure
.
Ardından Sertifika -> Ayrıntılar -> Parmakizi'ye tıklayın ve değeri kopyalayın. Yapmayı unutma cert.GetCertHashString().ToLower()
.