1

https 経由で xml rpc サーバーと通信する Silverlight 3.0 アプリケーションを作成しました。アプリケーション全体は、サーバーを異なるマシンにインストールし、クライアントを同じマシンにインストールできる LAN 環境で実行されます。サーバーのIPに対して生成された自己署名証明書を使用しており、信頼されたルート証明機関に入れる必要がありますクライアントマシン上。しかし、2番目のサーバーと通信したい場合は、その特定のサーバーのIPに対してクライアントマシンに別の証明書をインストールする必要があります。要するに、n個の異なるサーバーと通信したい場合は、クライアントにn個の証明書をインストールする必要がありますが、これは私には不可能です、LAN環境を介して単一の証明書でそれを行うにはどうすればよいですか。証明書はサーバーの IP またはホスト名に対して生成されます。SSL 証明書の検証をバイパスする方法はありますか? お気に入り

ServicePointManager.ServerCertificateValidationCallback = MyCertHandler; 

static bool MyCertHandler(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors error) 
{ 
// Ignore errors 
return true; 
} 

しかし、上記のコードは Silverlight では使用できませんか? 助けはありますか?

4

1 に答える 1

1

自己署名証明書を使用しないでください。認証を無視できる場合は、ssl を使用する正当な理由はありません。

自己署名証明書を回避するには: 個人の CA をセットアップします ( Microsoft の CA で行うのは非常に簡単です)。次に、独自の CA からサーバー証明書を発行し、CA の証明書を信頼されたルートとして各サーバーに提供します。次に、次のようなセットアップになります。

証明書チェーン:

  • Aが署名したB
  • 署名された C
  • 署名された D
  • 署名された E

展開:

  • サーバー B は A と B を取得します
  • サーバー C は A と C を取得します
  • サーバー D は A と D を取得します
  • サーバー E は A と E を取得します

次に、これらのサーバーのいずれかに接続するクライアントは、共通名を接続先のアドレスと照合し、有効な日付範囲を独自の現在時刻と照合し、すべてのサーバーの「CA Cert A」への検証チェーンを構築します。

(これは、独自の CA サーバーをセットアップするためのランダムな開始リンクです。) リンク テキスト

Selfsigned を使用しようとすると、最終的には

証明書チェーン:

  • B署名B
  • C署名C
  • D署名D
  • E署名E

証明書の導入

  • サーバー B は B、C、D、E を取得します
  • サーバー C は B、C、D、E を取得します
  • サーバー D は B、C、D、E を取得します
  • サーバー E は B、C、D、E を取得します
于 2010-07-10T07:27:45.843 に答える