3

wsdl2java で Web サービスを使用するためのスタブ クラスを作成しましたが、トランスポート用のクライアント証明書を指定する必要があります。どうすればいいですか?

.NET では、呼び出しを行う前に X509Certificate オブジェクトを同様のスタブ クラスに直接アタッチできることに慣れています。

4

1 に答える 1

1

Java では、いくつかのオプションがあります。

  • パラメータを指定してjava.net.ssl*、証明書ストア、パスワードなどkeytoolを設定します。これらのオブジェクトの設定に使用する必要があります。

コードは次のとおりです。または、コマンド ラインで -D を使用して指定することもできます。これらはアプリに対してグローバルになることに注意してください。

System.setProperty("javax.net.ssl.keyStore", "myKeyStore.p12");
System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
  • SSLFactory下位レベルで証明書を構成するカスタムを作成し、WS コンテキストに設定します。これをグーグルで検索すると、そこにたくさんの情報が見つかります。この質問も確認してください(著者はJAX-RPC用だと言っていますが、コメントで実装をJAX-WSに変更しています)。

詳細については、JSSE ドキュメント(Java 1.5 の場合) を参照してください。

于 2012-04-11T19:48:34.707 に答える