実際、証明書は本当に行く方法です!証明書を使用することを強くお勧めします!それほど難しいことではありません。実際、これはあなたの問題です:「ドメインはお互いを信頼していません」。証明書を使用すると、相互に信頼するドメインを実現できます。これを行う方法のステップバイステップの説明は次のとおりです
。1)クライアントで証明書を作成する必要があります。これを行うには、[スタート]メニュー->[ファイル名を指定して実行]->[cmd]と入力し、Enterキーを押します。コンソールウィンドウで次のように入力します
。makecert.exeMakeCert -pe -ss My -sr LocalMachine -a sha1 -sky exchange -n CN = ClientCertificateName(change 「ClientCertificateName」と任意の名前)
2)サーバーで同じことを行い、証明書名を変更します。
3)手順1)および2)を実行した後、クライアントとサーバーの両方に自己署名証明書がインストールされます。次に、これらの証明書をエクスポートし、サーバーのTrustedPeopleフォルダーにクライアントの証明書をインポートし、クライアントのTrustedPeopleフォルダーにサーバーの証明書をインポートする必要があります。これを行うには->スタートメニュー->実行->「mmc」と入力してEnterキー
を押します4)証明書の保存場所を開くには、[ファイル]-> [スナップインの追加と削除]->新しいウィンドウで[証明書](左側)を選択します[追加]->[OK]をクリック->[コンピューターアカウント]を選択->[次へ]->[完了]->[OK]をクリックします
その後、証明書コンソールが開きます。証明書ノード(左側)を展開し、[個人/証明書]ノードに移動します。ここに、前の手順で作成したばかりの証明書があります。証明書を右クリックして、秘密鍵を含めてエクスポートします。エクスポートした証明書をファイルに保存します。次に、このファイルを他のマシンにコピーして、「Trusted People/Certificates」ノードの下にインポートします。
5)他のマシンについても手順4)を繰り返します。最終的な目標は、クライアントの証明書をホストのマシンにインポートすることです。その逆も同様
です。証明書を設定したら、サービスにそれらを使用するように指示する必要があります。これを行うには、アプリのweb.config(app.config)ファイルを使用するか、コードを記述します。
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
クライアントとサーバーの両方の構成ファイルにセキュリティノードを追加した後、バインディングに次の動作を追加する必要があります。
<behaviors >
<endpointBehaviors>
<behavior name="your_binding_behavior">
<clientCredentials>
<clientCertificate findValue="[The name of the client certificate here]"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"/>
<serviceCertificate>
<defaultCertificate findValue="[The name of the server certificate here]"
storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindBySubjectName"/>
<authentication certificateValidationMode="PeerOrChainTrust"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
以上です!あなたは行ってもいいです!これについての詳細は、この記事を読むことができます。そして、ここにさらに詳細なものがあります。
HTH