証明書認証を初めて使用する必要があります。 商用パートナーは、XML WebサービスとHTTPサービスの2つのサービスを公開しています。私は両方の.NETクライアントにアクセスする必要があります。私は私のローカルマシンに(ルートと中間2上)SSLCACertificatesとクライアント証明書をインストールしている環境証明書認証を使用したWebサービスとHTTPインターフェイスへのアクセス
の設定
0を試してみましたが、何
は(7プロに勝ちます)certmgr.exeを使用します。 Webサービス
- については
1.私は、クライアント証明書(DER)を持っています。
- サービスは.NETプロキシ経由で消費されます。最後の文で報告
OrderWSService proxy = new OrderWSService(); string CertFile = "ClientCert_DER.cer"; proxy.ClientCertificates.Add(new System.Security.Cryptography.X509Certificates.X509Certificate(CertFile)); orderTrackingTO ot = new orderTrackingTO() { order_id = "80", tracking_id = "82", status = stateOrderType.IN_PREPARATION }; resultResponseTO res = proxy.insertOrderTracking(ot);
例外:
The request failed with an empty response
は、ここでは、コードです。
2. HTTPインターフェース
- のために、それは私がPOSTメソッドを介して呼び出す必要がありHTTPSインターフェイスです。
- HTTPSリクエストは、HTTPクライアントからHTTPWebRequestを使用して送信されます。最後の文で報告
string PostData = "MyPostData"; //setting the request HttpWebRequest req; req = (HttpWebRequest)HttpWebRequest.Create(url); req.UserAgent = "MyUserAgent"; req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ClientCertificates.Add(new System.Security.Cryptography.X509Certificates.X509Certificate(CertFile, "MyPassword")); //setting the request content byte[] byteArray = Encoding.UTF8.GetBytes(PostData); Stream dataStream = req.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); //obtaining the response WebResponse res = req.GetResponse(); r = new StreamReader(res.GetResponseStream());
例外:
The request was aborted: Could not create SSL/TLS secure channel
は、ここでは、コードです。
3.最終試してみてください。
Error 107 (net::ERR_SSL_PROTOCOL_ERROR)
私は立ち往生午前:私は、私は107エラーを取得する両方のURLにアクセスしようとした場合、証明書をインストールした後、Chromeのブラウザ
を使用。
Uは、SSL証明書のathorizationでHTTPリクエストを作成することはできません。 https経由で行う必要があります。この証明書が必要ですか?答えが「はい」の場合、このWebサービスをhttps経由で通信させる必要があります。 – harry180
@ harry180。ご清聴ありがとうございます。私はその質問を編集した。 httpプロトコルで –
を入力すると、ユーザ名とパスワードが送信されます。これはMD5で最小限に暗号化されている必要があります。あなたがそうしたとしても、この情報を許可されていない人に漏らすのはかなり簡単です。そのような情報共有のためにhttpsプロトコルを再考する。 – harry180