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