2017-03-29 3 views
0

この質問をして申し訳ありませんが、私のケースではStackに対する回答が見つかりませんでした。クライアント証明書:権限でSSL/TLSのセキュリティで保護されたチャネルを確立できませんでした(再度!)

WCFを使用して外部SOAP APIと通信するクライアントアプリケーションを開発しました。認証するために、アプリケーションはクライアント証明書を使用します。 (サーバーにインストールされているクライアント証明書)。ローカルマシンでテストすると、すべて正常に動作します。

問題は、アプリケーションをIIS(EC2上)にデプロイするときに発生します。アプリはSOAP APIともう通信できません。これはエラーです:

"Could not establish secure channel for SSL/TLS with authority". 

現在のユーザーとローカルコンピュータの両方の場所のPersonnalストアに証明書をインストールしました。ブラウザでSOAP APIをヒットしようとすると(wsdlファイルを取得し、クライアント証明書も必要です)。

注:証明書は自己署名されていません。認可されたCAによって作成されました。ヘルプ

+0

だから、私の理解あたりとしてあなたのクライアントアプリがローカルマシンからの証明書を取得し、SOAPサービスに対して行われたリクエストに添付したWebアプリです。それは...ですか? –

+0

こんにちはラッシュミン、そうです。あなたは何が問題になるかもしれないかの手がかりを持っていますか? – Hudvoy

+0

IISのアプリケーションプールのIDをLocalSystemに変更し、アプリケーションを再起動しました。私はそれが許可の問題だと思う。 – Hudvoy

答えて

0

証明書ストアにアクセスできるのは、管理者のみです。 IUSERのローカルiisユーザーに管理者権限がないため、その証明書エラーが表示されていました。 LocalSystemは証明書ストアにアクセスできるため、アプリケーションプールIDをLocalSystemに変更することで問題は解決しました。

これに対する別の最適な解決策は、IUSERへの証明書のアクセスのみを許可することです。 (これを行うことにより、アプリケーションプールへの完全な管理者アクセスとは異なり、特定のアクセス権が与えられます)。

証明書コンソール - >証明書 - >すべてのタスク - >秘密鍵の管理 - >IUSERを右クリックし、[OK]をクリックします。

enter image description here

enter image description here

0

ため

おかげで私は、ローカルシステムへのIISのアプリケーションプールのIDを変更し、アプリを再起動します。私は許可の問題だと思う。誰かがなぜ私が彼女/彼の答えを受け入れるだろう問題を解決した理由を説明することができます。

関連する問題