春ブーツ2.1組み込みのTomcat - キーストアのパスワードが間違っていました

chrislhardin:

UPDATE - > Security.addProviderを追加する(新しいBouncyCastleProvider()); この問題を修正

次のエラーが私の設定にはActiveMQブローカーの添加によって引き起こされます。私はJMSの設定を削除した場合、このエラーが表示されなくなります。

 java.security.UnrecoverableKeyException: failed to decrypt safe contents entry:
    javax.crypto.BadPaddingException: pad block corrupted  

春ブーツ2.1.1.RELEASE SSL ActiveMQの@EnableJMSとTomcatを組み込み

UPDATE:私は仕事に起動されたアプリケーションとすべてのものから、私のJMSConfiguration.classを削除しました。@EnableJMSは何かをオーバーライドする何かをしなければなりません。私は、正確な犯人を見つけるまで、体系的にその設定クラスで豆をコメントアウトするつもりです。私は私のJMSのActive MQの設定は、私の組み込みのTomcatサーバーのSSLの設定と衝突するだろうと思ったことがないでしょう。

私が原因であるとして、次のJMS関連Beanにそれを絞り込むました。私は完全にJMSの設定を取り除く場合は、私はパスワードを使用して、エラーを得ることはありません。これらの事は関係ないと思われるが、彼らは何とかしています。

@Bean
public BrokerService broker() throws Exception {
    final BrokerService broker = new BrokerService();

春のブートを開始するときに、以下の設定を使用して、私はエラーを取得します。私は私の@Configurationクラスのすべてを削除し、ちょうど春のブートを開始する場合は、この設定は、罰金に動作します。私は、PKCS、JKSを試みたと私は、ファイルを試してみた:と私は周りのファイルと喜びを移動しました。私は私の設定クラスを削除する場合には、正常に起動し、私はちょうど罰金443 / SSLを使用してサーバーを打つことができるので、パスワードが正しいことを知っています...

server.contextPath=/my
server.tomcat.additional-tld-skip-patterns=*.jar
server.compression.enabled=true
server.port=443
server.ssl.key-store:classpath:local-keystore.jks
server.ssl.key-store-password:password
server.ssl.keyStoreType:JKS
server.ssl.keyAlias:tomcat

エラーが発生しました

    org.apache.catalina.LifecycleException: Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1001)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:259)
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:197)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:311)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:164)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
    at com.jjkane.Application.main(Application.java:65)
Caused by: java.lang.IllegalArgumentException: keystore password was incorrect
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:114)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224)
    at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1067)
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1149)
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:561)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:998)
    ... 14 common frames omitted
Caused by: java.io.IOException: keystore password was incorrect
    at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2108)
    at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:243)
    at java.base/java.security.KeyStore.load(KeyStore.java:1479)
    at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:179)
    at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:204)
    at org.apache.tomcat.util.net.jsse.JSSEUtil.getKeyManagers(JSSEUtil.java:203)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:112)
    ... 20 common frames omitted
 java.security.UnrecoverableKeyException: failed to decrypt safe contents entry:
        javax.crypto.BadPaddingException: pad block corrupted  

UPDATE:この変更後も同じエラー...

server.contextPath=/my
server.tomcat.additional-tld-skip-patterns=*.jar
server.compression.enabled=true
server.port=443
server.ssl.key-store=classpath:local-keystore.p12
server.ssl.key-store-password=tomcat
server.ssl.key-password=tomcat
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat
Sudhir:

あなたは、この例外は、JavaのインストールにJava Cryptography Extension(JCE)無制限強度の管轄ポリシーファイルを追加することによって取り組むことができ、この場合には、JDK 8u161に以前のJavaバージョンを使用している場合があります。暗号化/復号化は、長いキーサイズで行われたときに問題が一般的に行われます。弾む城はまた、この問題を解決します。JCEファイルについての詳細は、Oracleのサイトを参照してください。https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

別の解決策は、上記以上のバージョンにしてJavaをアップグレードすることです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=200070&siteId=1