2016-11-08 7 views
1

現在、いくつかのWSDLファイルに基づいていくつかのJavaコードを生成するmavenプロジェクトを設定しようとしています。セキュリティの問題を無視するためのmavenプラグインcxf-codegen-pluginの設定

残念ながら私のテスト環境には有効なSSL証明書がありません(私はこれをchromeを使用して確認しています)。これはテスト環境で起こっているので、私はセキュリティについて心配していません。私は自分のコード生成を働かせたいだけです。

私は現在

 <plugin> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-codegen-plugin</artifactId> 
      <version>3.1.8</version> 
      <executions> 
       <execution> 
        <id>generate-sources</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
         <defaultOptions> 
          <bindingFiles> 
           <bindingFile>${basedir}/src/main/jaxb/jaxb.bindings.xml</bindingFile> 
          </bindingFiles> 
          <packagenames> 
           <packagename>foo.bar</packagename> 
          </packagenames> 
          <extraargs> 
           <extraarg>-client</extraarg> 
          </extraargs> 

         </defaultOptions> 
         <wsdlOptions> 
          <wsdlOption> 
           <wsdl>[Removed URL]</wsdl> 
          </wsdlOption> 

         </wsdlOptions> 
        </configuration> 
        <goals> 
         <goal>wsdl2java</goal> 
        </goals> 
       </execution> 
       </executions> 
     </plugin> 

私はMVNクリーン実行Mavenをインストールし、次のエラー

[ERROR]を出力プラグインCXF-codegenを-プラグインを使用する方法を以下に示し

はゴールorg.apacheの実行に失敗しました.cxf:cxf-codegen-plugin:3.1.8:プロジェクトTestClientのwsdl2java(generate-sources): 目的生成org.apache.cxfのソース:cxf-codegen-plugin:3.1.8:wsdl2java failed:org .apache.cxf.wsdl11.WSDLRuntimeException: wsdl定義の作成に失敗しました[削除されたURL] WSDLException:faultCode = PARSER_ERROR:解析された問題[削除されたURL]。: javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:件名の代替DNS名が一致していません....見つかりました。 - > [ヘルプ1]

だから私の質問は、基本的に何かcxf-codegen-plugin stを設定する方法がある場合です。すべてのセキュリティ上の懸念事項を無視し、Javaコードの生成を続けますか?

答えて

0

無視することは可能かどうかわかりませんが、あなたの問題を解決すると思われる証明書をローカル証明書ストアに追加できます。

開発環境についての詳細な情報が不明な場合は、これらの手順が直接適用される場合があります。

私はIshwara Varnasiのこのブログの記事からの助けが見つかりました:

http://ibswings.blogspot.fi/2008/12/running-axis-wsdl2java-on-https-wsdl.html

ステップまもなく:

  1. % JAVA_HOME%の/JRE/libに/セキュリティに証明書をダウンロードしてください。ディレクトリはさまざまですが、java jre cacert証明書ストアが必要です。
  2. ダウンロードした証明書を同じディレクトリにあるcacertsファイルにインポートします。インポート前に元のcacertsファイルのバックアップコピーを作成することをお勧めします。

より詳細な手順:

  1. 証明書が セキュリティ例外を確認し、証明書を永続的に保存して、目的のディレクトリに、ブラウザからそれをエクスポートして、ブラウザで行うことができますフェッチ。 format X.509でエクスポートすると、他のフォーマットについてよく分からない場合もあります。証明書をダウンロードするために使用することができます opensslののようにまたツールは、例えば、証明書をインポートする Using openssl to get the certificate from a server
  2. を使用して、適切なツールを参照してください。

    keytool -importcert -trustcacerts -keystore cacerts -storepass changeit -alias aliasname -file cert_to_import_file_name

    よりのinfromationのインポートについて: How to properly import a selfsigned certificate into Java keystore that is available to all Java applications by default?

少なくとも私の場合、storepassは本当に 'changeit'でした。それで私は最初にそれを理解したので、それを実際のstorepassに変更する意味はありません。

複数のJavaバージョンを使用している場合、またはすべてのバージョンに追加する場合は、必ず正しいJREに証明書をインポートしてください。

関連する問題