2011-06-28 14 views
4

私はSSLを使用するサービスを持っています。私は、サービスを閲覧しようとすると、私は次のエラーを取得する次のように私の設定があるWCF - SSLサービス

The SSL settings for the service 'SslRequireCert' does not match those of the IIS 'None'. 

<security mode="Transport"> 
     <transport clientCredentialType="Certificate" /> 
     </security> 

私はIIS ExpressおよびIを使用していて検証(チェック「SSLを有効にする」をしていますWebMatrix)。

他に何が必要なのですか?

答えて

4

[OK]を使用することを意味され

<security mode="Transport"> 
     <transport clientCredentialType="Certificate" /> 
     </security> 

を削除します。 (IIS Expressの)applicationhost.configファイルを更新する必要があるようです。サイトの場所を追加し、sslFlags = "Ssl、SslAcceptCert、SslRequireCert"を設定しました。これにより、私はSSL認証を有効にすることができました。その後、クライアントとのサービスにアクセスしようとしたときに、信頼関係を確立する際にエラーが発生したというメッセージが表示されました。これは、私が信頼できる人のフォルダにサーバーの証明書を持っていなかったためです(または、クライアントであった可能性があります。私のローカルPCにサービスとクライアントがあるかどうかわかりません)。その後、サービスは機能しますが、私たちはクライアントに証明書を渡す必要はないので、TransportWithMessageCredentialセキュリティモードを使用しました。

1

以下のようにSSLを組み込むように動作を変更してください。

<behaviors> 
    <serviceBehaviors> 
    <behavior name="MyService"> 
     <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" /> 
     <serviceDebug includeExceptionDetailInFaults="False" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

及びこれを使用すると、証明書認証

+0

私がそれをすると、メッセージが表示されます。エンドポイントが聞こえませんでした。元の設定を使用しても、TransportWithMessageSecurityを実行すると動作します。 – user472292

+0

URLでhttpsを参照できますか? – ChrisBint

+0

はい。サービスへのブラウジングは正常に動作します。 – user472292

1

これは、mex行が存在しない場合とはまったく関係ありません。間違って設定されている場合は削除しても影響はありますが、IISでは引き続き同じエラーが発生する可能性があります。

IISに「SSLを要求する」と「受け入れる」(簡単に)または「ユーザー証明書を要求する」というSSL設定があることを確認してから、IISを再起動します。 IISには変更が適用されていると言われていますが、私の経験では必ずしもそうではありません。

関連する問題