2016-05-27 13 views
1

別のTomcatインスタンス上で別のJavaサービスを呼び出すための貧しい人のデーモンとして実行しているSpringブートアプリケーションを作成しました。他のJavaサービスに接続する際にSSLエラーが発生しますが、同じURLとヘッダーを使用してSoapUi(またはPostman)のようなものを使用して他のサービスにアクセスすると、OK応答が返されます。だから私のSpring Boot設定で何かが間違っているはずです。SpringブートでHTTPSエンドポイントを呼び出す

私はSpring BootとSoapUIに同じJKSを使用しています。私はapplication.propertiesでcertを使用して、コマンドラインで-Djavax.net.ssl.keyStoreと関連するパスワードパラメータを使って指定してみました。

SSLを使用せずにローカルで他のサービスを実行すると、私のSpring Bootアプリケーションで正常に接続できます。

私は取得していますSSLエラーは次のとおりです。sun.security.validator.ValidatorException: Netscape cert type does not permit use for SSL server

私が考えることができるベストはSOAPUI(またはポストマン)は、クライアントアプリケーションとしての自体を識別して、私の春ブーツがサーバーとして自分自身を識別することですか?だから私はと思う私はどのように自分自身をクライアントとして識別するためにスプリングブートを作ることができますが、私はまだSSLエラーを理解することを理解していないのですかと尋ねています。

答えて

0

あなたにはさまざまな問題があります。最初に、soapuiはサーバSSL証明書が接続されているかどうかを検証しません。デフォルトではjavaはデフォルトではありません。ただし、サーバー証明書の検証も無視するようにJavaクライアントを構成することはできます。

どのようなクライアントを使用するかは、使用するクライアントによって異なります。httpclientが最も一般的です。その詳細はin this threadです。

今、あなたは本当にそうすべきではありません。代わりに、サーバー証明書を検証する証明書を含むトラストストアを用意する必要があります。その場合、truststoreの設定に興味があります。キーストア - キーストアは他の人と身分を確認するときに使用します。ルートCAと中間証明書をトラストストアにインポートしてから、その証明書の設定をポイントする必要があります。

関連する問題