2012-02-20 23 views
0

.NETからWebサービスに接続しようとしています。私はクラスライブラリのサービスを参照しています。証明書を使用してWebサービスを呼び出す

は、私は次の場所

  • ローカルコンピュータ\個人\証明書
  • ローカルコンピュータ\信頼されたルート証明書\証明書
  • 現在のユーザーに証明書を(.P12がある)をインポートしようとしました私にはルート証明書\証明書

信頼\個人\証明書

  • 現在のユーザー\ Web.config私は証明書を設定するために以下を持っていますが、証明書がないというWebサービスから例外が戻ってきています。

    <clientCredentials> 
        <clientCertificate findValue="[email protected]" storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/> 
    </clientCredentials> 
    

    さらにコードが必要な場合は、教えてください。

    おかげ

  • 答えて

    2

    私はこの問題は、IISの下で実行され、ユーザーがキーストア内の秘密鍵へのアクセス権を持っていないということかもしれないと思います。これまで私がこの問題を抱えていたとき、本当に「許可が拒否されました」という困惑した「見つからない」例外が発生しました。

    ユーザーにキーストアにアクセスする権限を与えるためのツールがあります。ツールを入手してここで読むことができます:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

    +0

    私は実際にこれを使用しました。 IIS Expressを使用してローカルの開発マシンでこれを実行しようとしていますが、プロダクションWebサーバーにもアクセスする必要があります。 –

    +0

    @ミミリカン - これに関する進歩?追加するヒントや確認事項はありますか?私自身はこれを理解しようとしていますが、プロダクション環境ではPowerShell以外の開発リソースはありません。開発環境にはWebサービスの証明書が設定されていません。 –