我正在尝试使用下面的代码将客户端证书传递给服务器,但是我仍然恢复 HTTP 错误 403.7 - 禁止:需要 SSL 客户端证书。HttpWebRequest 不发送客户端证书的可能原因是什么?
var clientCertificate = new X509Certificate2( @"C:\Development\TestClient.pfx", "bob" );
HttpWebRequest tRequest = ( HttpWebRequest )WebRequest.Create( "https://ofxtest.com/ofxr.dll" );
tRequest.ClientCertificates.Add( clientCertificate );
tRequest.PreAuthenticate = true;
tRequest.KeepAlive = true;
tRequest.Credentials = CredentialCache.DefaultCredentials;
tRequest.Method = "POST";
var encoder = new ASCIIEncoding();
var requestData = encoder.GetBytes( "<OFX></OFX>" );
tRequest.GetRequestStream().Write( requestData, 0, requestData.Length );
tRequest.GetRequestStream().Close();
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback( CertPolicy.ValidateServerCertificate );
WriteResponse( tRequest.GetResponse() );