3、C#使用證書
C#使用證書默認使用操作系統以導入的證書,即在操作系統上按裝apiclient_cert.p12即可。C#也可以忽略其他三個pem文件。 使用如下:
string cert = @"R:\apiclient_cert.p12"; string password = "10010000"; ServicePointManager.ServerCertificateValidationCallback=new RemoteCertificateValidationCallback(CheckValidationResult); X509Certificate cer = new X509Certificate(cert, password); HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url); webrequest.ClientCertificates.Add(cer); webrequest.Method = "post"; HttpWebResponse webreponse = (HttpWebResponse)webrequest.GetResponse(); Stream stream = webreponse.GetResponseStream(); /*CheckValidationResult 的定義 */ private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { if (errors == SslPolicyErrors.None) return true; return false; }
注意:
C#有一點需要注意,除了在代碼中使用apiclient_cert.p12之外還需要將該證書導入操作系統才能使用,
1、代碼中使用;
2、導入操作系統,二者缺一不可。
.NET版本需要大於2.0