私は証明書によるクライアント認証を使用する自己ホストWCFサービスを実装しようとしています。残念ながら認証は失敗します。ログファイルには、クライアントが証明書を提供していないと記載されています。 firefoxでサービスにアクセスしようとすると、「Error 403-Forbidden」と表示されます。自己ホストWCFサービス+クライアント証明書の認証
次のコードは、app-configファイルによる設定を示しています。
<serviceBehaviors>
<behavior name="sslbehaviour">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="ChainTrust" trustedStoreLocation="CurrentUser"/>
</clientCertificate>
<serviceCertificate findValue="cert-thumb-print" x509FindType="FindByThumbprint" storeLocation="CurrentUser" storeName="My"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
endpoint address="https://localhost:443/service" binding="wsHttpBinding"
bindingConfiguration="BindingForResultPost" contract="MobD.IEndpointService" />
エラーメッセージ:System.ServiceModel.Channels.HttpsClientCertificateNotPresent.aspx
私は正しく私の本命を作成し、インストールしていることと思います。
私はすべてのヒントのために非常に感謝される...
種類のよろしく、 マイケル
私はサービスに接続しているときにFirefoxに証明書を要求してはいけませんか?サブコードをどのように取得できますか?例えば403.x - 私はちょうどメインコードを参照してください...私はすでにフィドラーを使用してみましたが、残念ながらアウトプットはあまり役に立ちませんでした。クライアント証明書およびそのルートCAは、クライアントマシンにインストールされます。 – user1168876
これはWindowsボックスですか? IEとChromeのように、FirefoxはWindows証明書ストアを使用しません。独自のストアがあるので、そこにインストールする必要があります(またはIEまたはChromeのいずれかでテストする)。 IIS7以上を使用しているとすれば、詳細なエラーコードを設定する必要があると思います。セキュリティ上の理由から、一般消費者にはあまりにも多くの情報を提供するため、デフォルトでは有効になっていません。 –
うん、それはWindowsだ。私はすでに証明書をfirefoxの証明書ストアに入れようとしました。 WCF-Serviceが証明書を要求しないようです。詳細エラーコードをどこで有効にできますか?それは自己ホスト型のアプリケーションです - iisのニーズはどうですか? – user1168876