クライアント証明書を使用して Web サービスにアクセスするための次のコードがあります。このコードをコンソール アプリケーションで実行すると、すべて正常に動作するようです。IIS 7 で実行されている Web アプリケーションから実行しようとすると、「要求が中止されました: SSL/TLS セキュア チャネルを作成できませんでした」というエラーが表示されます。
これはコードです:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3 | System.Net.SecurityProtocolType.Tls; //from other stackoverflow case
System.Net.ServicePointManager.Expect100Continue = true; //from other stackoverflow case
db2wsService service = new db2wsService();
service.Url = this.WebserviceUrl;
HttpServerUtility server = HttpContext.Current.Server;
X509Certificate certificate = new X509Certificate(server.MapPath(this.CertificatePath), this.CertificatePassword);
service.ClientCertificates.Add(certificate);
service.PreAuthenticate = true;
//do some stuff here to call webservices