ServerCertificateValidationCallback이 true를 반환 할 때 잘못된 sertificate가 작동하지 않으면;
내 서버 인증서 ValidationCallback 코드 :
ServicePointManager.ServerCertificateValidationCallback += delegate
{
LogWriter.LogInfo("Проверка сертификата отключена, на уровне ServerCertificateValidationCallback");
return true;
};
ServerCertificateValidationCallback을 실행하지 못하게하는 코드 :
if (!(ServicePointManager.CertificatePolicy is CertificateValidation))
{
CertificateValidation certValidate = new CertificateValidation();
certValidate.ValidatingError += new CertificateValidation.ValidateCertificateEventHandler(this.OnValidateCertificateError);
ServicePointManager.CertificatePolicy = certValidate;
}
OnValidateCertificateError 함수 :
private void OnValidateCertificateError(object sender, CertificateValidationEventArgs e)
{
string msg = string.Format(Strings.OnValidateCertificateError, e.Request.RequestUri, e.Certificate.GetName(), e.Problem, new Win32Exception(e.Problem).Message);
LogWriter.LogError(msg);
//Message.ShowError(msg);
}
CertificateValidation 코드와 ServerCertificateValidationCallback이 매우 잘 실행되지 않도록 설정했습니다.