2009-05-28 17 views
0

私は、リモートクライアントの自己作成SSL証明書を気にしないようにJavaクライアント要求に伝えたいと思います。 .NETでは、ServicePointManagerを操作することでこれを行うことができます。どうすればJavaで同じことができますか?Javaと同等の.NET System.Net.ServicePointManager

答えて

0

基本的な実装がSSLの処理方法に影響を及ぼすため、使用しているSOAP/WSスタックを知る必要があります。ほとんどの場合、スタックはJVM全体のJSSE設定をカバーで使用しますが、JSSE構成に対してどの程度の制御権があるかは異なります。

これが本番の場合は、実際には適切なPKIを設定し、クライアントJVMでCAを信頼することを検討する必要があります。これがテスト用の場合は、テスト環境用に同じことを行い、依然として信頼できるCAを使用してJVMを構成する必要があります。

JVMで信頼を構成するには、お使いのJavaのバージョンに合わせてJSSE documentationを参照してください。

JSSE設定で使用するJKSファイルを作成するには、ご使用のJavaバージョンのkeytool documentaionを参照してください。

keytoolがあなたに気高く見える場合、Googleには無料のGUIがあります。

信頼関係を正しく設定できない場合や、適切に対処したくない場合は、信頼を無視するようにJSSEクラスのカスタム実装を構成できます。何もしないTrustManagerのコード例については、this articleを参照してください。 SOAP/WSスタックは、接続ごとの制御を許可しない可能性があるため、このTrustManagerをJVMのデフォルトのトラストマネージャとしてコンフィグレーションする必要があります。