2011-08-03 18 views
0

簡単に説明します。フォーム認証とカスタムメンバーシッププロバイダを使用するASP.NETアプリケーションがあります。 ServiceHostFactoryを使用してWCFクライアントとASP.NET ServiceHostを作成しました。これまでのところすべてが完璧に動作しますが、これを現実の世界に展開するためには、私はそれを確保する必要があります。私はサービスの証明書を設定する方法を見つけることができないようです。私は自分のサービスをホストしているASP.NETアプリケーションに既に関連付けられている証明書を使用したいと思います。ASP.NETでのWCF証明書の設定

手動で証明書を識別することなく、証明書をホスティングWebアプリケーションの証明書に自動的に設定する方法で証明書を設定するにはどうすればよいですか。ユーザーがWCFアセンブリをインストールして構成ファイルを変更し、インストールされている証明書について何か知っていなければならない場合は、実際のP​​ITAになります。

ここまで私がこれまで取り組んだことはありますが、動作させることができず、インストール中に再コンパイルせずに設定することはできません。

serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerDistinguishedName, "mycertificate"); 

SetCertificateに渡すことができるホスティングアプリに関連付けられた証明書を返すASP.NET Apiはありますか?また、証明書がインストールされていない状況をどのように処理すればよいですか?ただし、WCFが安全ではないにもかかわらず接続するようにしたいのですか?

答えて

1

これは、トランスポートまたはメッセージレベルのセキュリティのどちらを使用するかによって異なります。 IISでのその後

<basicHttpBinding> 
    <binding name="basicHttpsSecured" sendTimeout="00:02:00"> 
     <security mode="Transport"> 
     <transport clientCredentialType="None" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 

:あなたは自分のウェブサービスが他のWebページのようにHTTPS経由で仕事をしたい場合は、あなたのWCFの構成で、あなたは、単に同じように、トランスポート・セキュリティを有効にするには、証明書を指定する必要はありません他のASP.NETサイトと同じように、WebサイトでSSL証明書を設定します。 IISでこれをホストせず、代わりに自己ホストされたWindowsサービスなどを作成していた場合は、設定で証明書を設定する必要がありますが、IISでホストする場合はIISに作業をさせることができます。

あなたはセキュリティで保護されていない通常のHTTPを介して輸送されているが、あなたのメッセージの内容が暗号化され、その後、あなたが結合に

<security mode="Message"> 

を設定することを意味メッセージレベルのセキュリティを、やりたい代わり場合、およびメッセージの暗号化に使用する証明書を指定します。しかし、Webサービスにssl/httpsを使用することについて話しているようです。

+0

従来のssl/httpsを使用すると財務データを送信するのに十分なベストプラクティスだと思いますか?メッセージセキュリティを使用する場合は、証明書を提供する必要がありますか?もしそうなら、自分の.svcファイルがどこにあるのか私の証明書を保持できますか?もしそうなら、どこにWCFを教えたらいいですか?私は展開をできるだけ簡単にしたい。 –

+0

機密性の高い金融データやクレジットカードデータの場合は、トランスポートとメッセージの両方のセキュリティを使用することをお勧めします。メッセージセキュリティを行うには、クライアントに証明書が必要です。過去に処理したクレジットカード処理会社の中には、すべての顧客に一意の証明書を発行するものまであり、2人のWebサービスユーザーは同じ証明書を使用していないので、他のメッセージを復号化することはできません。 – CodingWithSpike

+0

また、このMSDNの記事では、証明書認証を設定するための段階的なアプローチがあります。http://msdn.microsoft.com/en-us/library/ff648360.aspx – CodingWithSpike

関連する問題