2016-11-17 13 views
1

BoxfuseのDev VM上の原因SSLエラーのため開始されません。クラスパスに存在し、起動後にアクセス可能で、PowerShellスクリプトを使用したコンソールからの手動起動によって検証されています。春ブーツアプリは、私は、次のSSL構成で、春のブートアプリケーションを持っている

dev.ps1

$env:BOXFUSE_ENV="dev" 
$env:X_KEYSTORE_PASSWORD="correctpassword" 

java -jar target\myapp-1.0.0.12314.jar 

手動起動後、アプリケーションは正常にローカルホストで起動され、プロダクションモードとデベロッパーモードの両方で正しい証明書で使用できます。 は今、私は次のコマンドでBoxfuseアプリとしてPowerShellでそれを起動しよう:

vb-c2b995f3 -> 2016-11-17 15:31:56.659 ERROR 636 --- [   main] o.apache.catalina.core.StandardService : Failed 
to start connector [Connector[HTTP/1.1-443]] 
vb-c2b995f3 -> 
vb-c2b995f3 -> org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-443]] 
vb-c2b995f3 -> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:158) 
vb-c2b995f3 -> at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) 
vb-c2b995f3 -> at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedC 
onnectors(TomcatEmbeddedServletContainer.java:234) 
... 
vb-c2b995f3 -> Caused by: java.lang.IllegalArgumentException: java.io.IOException: DerInputStream.getLength(): lengthTag 
=109, too big. 
vb-c2b995f3 -> at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:103) 
vb-c2b995f3 -> at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:81) 
... 
vb-c2b995f3 -> Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big. 
vb-c2b995f3 -> at sun.security.util.DerInputStream.getLength(DerInputStream.java:561) 
vb-c2b995f3 -> at sun.security.util.DerValue.init(DerValue.java:365) 
vb-c2b995f3 -> at sun.security.util.DerValue.<init>(DerValue.java:320) 
vb-c2b995f3 -> at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1914) 

打ち上げに二つの方法の間でそれほど大きな違いは何ですか:

boxfuse run target\myapp-1.0.0.12314.jar -env=dev "-envvars.X_KEYSTORE_PASSWORD=correctpassword" 

アプリケーションは、このスタックトレースで起動に失敗しますアプリ?どうすれば修正できますか?

UPD:キーストアをJKSフォーマットに変換し、キーストアタイプをPKCS12に設定することで問題を解決しました。

UPD2:問題の根本的な原因はここにある: https://bz.apache.org/bugzilla/show_bug.cgi?id=60450

答えて

1

キーの長さを有効にする必要がありJDK無制限強度の暗号を指すことができます。 https://boxfuse.com/docs/payloads/springboot#jce

+0

本当に、それは私の設定に欠けていましたが、単にポリシーファイルをsrc/main/resourcesに置くだけでは役に立ちませんでした。それらは最終的な実行可能なJARファイルのルートにあるべきか、またはBOOT-INF/classesから取得されますか?言い換えれば、Boxfuseの無制限強度暗号化ポリシーの自動ピックアップメカニズムは、Spring Boot Mavenプラグインの実行目標 "再パッケージ化"と互換性がありますか?編集:私はJARのルートにポリシーファイルを置くことを試みた - 助けていない。 –

+0

FYIでは、デバッグモード(-X)で実行することで、Boxfuseが無制限の強度の暗号ジャーを正しく検出できるかどうかを確認できます。次に、「ペイロードに含まれているバージョンでJRE local_policy.jarをオーバーライドする」というメッセージが表示され、はい、BoxfuseがそれらをBOOT-INF/classes/' –

+0

で検索します。破損しているか見つからないかのどちらかですが、再度同じ理由で同じjarファイルがコマンドラインから動作する理由が説明されていません。しかし、最善の策は、デバッグセッションをすばやく起動し、何が起こっているかを確認することです。https://boxfuse.com/docs/debugging –

関連する問題