C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: WEBサービスでのクライアント認証について


(過去ログ 123 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■73390 / inTopicNo.1)  WEBサービスでのクライアント認証について
  
□投稿者/ fujiwara (3回)-(2014/09/18(Thu) 14:40:14)

分類:[.NET 全般] 

いつもお世話になっております。

開発言語はVS2012のC#で、Webサービスを利用してクライアントとサーバーを通信する予定です。
IIS側ではSSLのクライアント認証を必須としています。

クライアントにはルート証明書、サーバー証明書、クライアント証明書をインストールし、
ブラウザでアクセスできる事は確認しています。

ここで分からない事は、クライアント証明書をインストールするだけでは駄目だろうという
のは分かりますが、アプリケーション内でどういう設定をしていいのかがわかりません。

試しに、SoapClientのClientCredentials.ClientCertificate.Certificateに証明書を直接
設定しても「この HTTP 要求は、クライアントの認証方式 'Anonymous' で許可されませんでした。」で通信できませんでした。

            WebServiceSoapClient service =
                new WebServiceSoapClient(GetHttpsBind(), new EndpointAddress("https://aaa.com/aaa.asmx"));

            X509Certificate2 cert = new X509Certificate2(@"certificate\ユーザー証明書.p12", "pass");
            service.ClientCredentials.ClientCertificate.Certificate = cert;

どの様に設定してあげたらクライアント認証ができるのでしょうか?
よろしくお願いします。


引用返信 編集キー/
■73391 / inTopicNo.2)  Re[1]: WEBサービスでのクライアント認証について
□投稿者/ fujiwara (4回)-(2014/09/18(Thu) 17:13:13)
2014/09/24(Wed) 11:39:28 編集(投稿者)

お世話になります。

色々触っていたら解決しました!

BasicHttpsBindingで以下のプロパティの設定を行ったら無事通信出来るようになりました。

BasicHttpsBinding bind = new BasicHttpsBinding();
bind.Security.Mode = BasicHttpsSecurityMode.Transport;
bind.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -