2016-11-04 9 views
0

x-509-spring-rest-web-service-tutorial(私はSOAP WSのためにそれを適用しました)に記述されているようにx509で保護された春のSOAP Webサービスを開発しました。それはうまく動作します。私はブラウザ(WSDLを取得するか健全性をチェックする)かSOAP UI(リクエストを行う)を介してサービスと通信できます。 SOAP UIの設定は難解でした。x509春のクライアント、悪質な証明書

次に、spring-soap-client-tutorialに従ってサーバーと通信するために春のクライアントを実装しました。できます。

今、私はx509との安全な通信を容易にしようとしています。私はビルドに固執した。私は例外 Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

を取得し、このコマンドを clean compile \ -Djavax.net.ssl.trustStore=src/main/resources/truststore.jks \ -Djavax.net.ssl.trustStoreType=JKS \ -Djavax.net.ssl.trustStorePassword=password

を使用し構築するために私は私のトラストストアが正しくないと仮定します。私は署名付きのサーバー証明書を持っています。それには何が含まれるべきですか?他に何が間違っていますか?

答えて

1

安定した再現可能なビルドが必要なので、オンラインリソースをコンパイルしないでください。
オンラインリソースのローカルコピーを作成し、catalog filesを使用して、絶対URLを書き換えてローカルコピーを指すようにします。

https://www.acme.com/foo/schema.xsdsrc/main/resources/www.acme.com/foo/schema.xsdとしてください。

カタログファイル書く:ビルドでそれを使用し

REWRITE_SYSTEM "https://www.acme.com" "www.acme.com" 

を:

<catalog>src/main/resources/catalog.cat</catalog> 
<schemas> 
    <schema> 
     <url>https://www.acme.com/foo/schema.xsd</url> 
    </schema> 
</schemas> 

私は、SSLの問題がここに戦う価値があるとは思いません。しかし、デバッグするには-Djavax.net.debug=allを試してください。

+0

私は 'mvn clean compile'を実行して、'目標org.jvnet.jaxb2.maven2:maven-jaxb2-pluginを実行できませんでした:例外を受け取ります:0.13.1:プロジェクトmyprojectで生成(デフォルト): mojo org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.13.1:パラメータ・スキーマ用に生成: 'schema'に対してorg.jvnet.jaxb2.maven2.ResourceEntryのセッター、加算器、フィールドを見つけることができません。何が間違っていますか? – user1648825

+0

1つの 'schema'要素が複製されました。今修正されました。 – lexicore

+0

ありがとうございます。できます。今私はクライアントの開始時に不正な証明書の例外を取得します。 – user1648825

関連する問題