簡単に説明します。フォーム認証とカスタムメンバーシッププロバイダを使用するASP.NETアプリケーションがあります。 ServiceHostFactoryを使用してWCFクライアントとASP.NET ServiceHostを作成しました。これまでのところすべてが完璧に動作しますが、これを現実の世界に展開するためには、私はそれを確保する必要があります。私はサービスの証明書を設定する方法を見つけることができないようです。私は自分のサービスをホストしているASP.NETアプリケーションに既に関連付けられている証明書を使用したいと思います。ASP.NETでのWCF証明書の設定
手動で証明書を識別することなく、証明書をホスティングWebアプリケーションの証明書に自動的に設定する方法で証明書を設定するにはどうすればよいですか。ユーザーがWCFアセンブリをインストールして構成ファイルを変更し、インストールされている証明書について何か知っていなければならない場合は、実際のPITAになります。
ここまで私がこれまで取り組んだことはありますが、動作させることができず、インストール中に再コンパイルせずに設定することはできません。
serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByIssuerDistinguishedName, "mycertificate");
SetCertificateに渡すことができるホスティングアプリに関連付けられた証明書を返すASP.NET Apiはありますか?また、証明書がインストールされていない状況をどのように処理すればよいですか?ただし、WCFが安全ではないにもかかわらず接続するようにしたいのですか?
従来のssl/httpsを使用すると財務データを送信するのに十分なベストプラクティスだと思いますか?メッセージセキュリティを使用する場合は、証明書を提供する必要がありますか?もしそうなら、自分の.svcファイルがどこにあるのか私の証明書を保持できますか?もしそうなら、どこにWCFを教えたらいいですか?私は展開をできるだけ簡単にしたい。 –
機密性の高い金融データやクレジットカードデータの場合は、トランスポートとメッセージの両方のセキュリティを使用することをお勧めします。メッセージセキュリティを行うには、クライアントに証明書が必要です。過去に処理したクレジットカード処理会社の中には、すべての顧客に一意の証明書を発行するものまであり、2人のWebサービスユーザーは同じ証明書を使用していないので、他のメッセージを復号化することはできません。 – CodingWithSpike
また、このMSDNの記事では、証明書認証を設定するための段階的なアプローチがあります。http://msdn.microsoft.com/en-us/library/ff648360.aspx – CodingWithSpike