C#憑證綁定

通過路徑取得實體憑證的Issuer(簽發單位)來進行憑證驗證

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072 | (SecurityProtocolType)768 | SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => {
    if (er == System.Net.Security.SslPolicyErrors.None)
    {
        string cerFile = "xxxx.crt";
        string cerPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), cerFile);
        X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(cerPath, "", X509KeyStorageFlags.MachineKeySet);
        if (cert != null)
        {
            if (cert.Issuer == c.Issuer)
            {
                return true;
            }
        }
        return false;
    }
    return false;
};