2012-04-30 42 views
2

現在、Windows認証(プログラムはC#で書かれています)でnetTcpBindingを使用しています。私はドメイン認証(ドメインにない新しいクライアントを追加する)から離れ、ユーザー名/パス認証で証明書セキュリティを設定しようとしています。これまで読んできたことから、必ずしもクライアント証明書が必要というわけではありません(いいですが、すべてのクライアントにサービスの証明書をインストールすることはできません)。私の考えは、信頼できるCAの証明書を使って安全なウェブサイトに移動するのと同じ行に沿っている。それは信頼されていると認識し、質問をしたり、手間をかけたりすることなく、証明書を受け取ります。サービスのみのWCF証明書認証(クライアント証明書なし)

これまでのところ私はサービス証明書をセットアップしましたが(GoDaddyのワイルドカード証明書があります)、クライアントを必要としないようにapp.configファイルにどのような変更を加えなければならないのか分かりません証明書。

サービスのapp.config:

<serviceBehaviors> 
    <behavior name=""> 
    <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" /> 
    <serviceDebug includeExceptionDetailInFaults="false" /> 
    <serviceCredentials> 
     <clientCertificate> 
     <authentication certificateValidationMode="None" revocationMode="NoCheck" /> 
     </clientCertificate> 
     <serviceCertificate findValue="*.xxxxxx.com" 
          storeLocation="LocalMachine" 
          storeName="TrustedPublisher" 
          x509FindType="FindBySubjectName" /> 
    </serviceCredentials> 
    </behavior> 
</serviceBehaviors> 

クライアントのapp.config:

 <security mode="Transport"> 
     <transport clientCredentialType="Certificate" protectionLevel="EncryptAndSign" /> 
     <message clientCredentialType="UserName" /> 
     </security> 

私はユーザ名部分のカスタムバリデータを設定する必要があります知っていますが、私は把握一歩ずつ。ありがとうございます。詳細が必要な場合はお知らせください。

答えて

3

clientCredentialTypeをNoneに変更します。また、サーバーの設定でこれを行います。

+1

ありがとう、私はそれを試して、それがどのように動作するか教えてあげよう! – jmgardn2

+1

完璧に作業しました!ご協力ありがとうございました! – jmgardn2

関連する問題