java.io.IOException: Invalid keystore format

Apache's JIRA Issue Tracker | Krzysztof Sobkowiak | 2 years ago
  1. 0

    I have built the {{cxf-ws-security-signature}} example contained in the assembly and installed it in ServiceMix. Next I have run {{mvn exec:java}} in the sample directory and got following error {code} java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8181/cxf/HelloWorldSecurity at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626) at org.apache.servicemix.examples.cxf.Client.sendRequest(Client.java:47) at org.apache.servicemix.examples.cxf.Client.main(Client.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) at java.lang.Thread.run(Thread.java:745) {code} Looking into the log I have found following error {code} Caused by: org.apache.wss4j.common.ext.WSSecurityException: Cannot create Crypto class org.apache.ws.security.components.crypto.Merlin Original Exception was org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials. Original Exception was java.io.IOException: Invalid keystore format at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:132)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.loadCrypto(WSHandler.java:1045)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.loadSignatureCrypto(WSHandler.java:963)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.decodeSignatureParameter2(WSHandler.java:1398)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.doReceiverAction(WSHandler.java:347)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:266)[195:org.apache.cxf.cxf-rt-ws-security:3.0.4] ... 39 more Caused by: org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials. Original Exception was java.io.IOException: Invalid keystore format at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:407)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.Merlin.loadProperties(Merlin.java:224)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.Merlin.<init>(Merlin.java:160)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:127)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] ... 44 more Caused by: java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)[:1.7.0_76] at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)[:1.7.0_76] at java.security.KeyStore.load(KeyStore.java:1214)[:1.7.0_76] at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:401)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] ... 47 more {code} Checking the original {{server-truststore.jks}} gives following result {code} $ file server-truststore.jks server-truststore.jks: Java KeyStore $ file -bi server-truststore.jks application/x-java-keystore; charset=binary {code} but the same check with the file contained in the assemblied examples gives following result {code} $ file server-truststore.jks server-truststore.jks: data $ file -bi server-truststore.jks application/octet-stream; charset=binary {code} Something must be changed by the assembly plugin

    Apache's JIRA Issue Tracker | 2 years ago | Krzysztof Sobkowiak
    java.io.IOException: Invalid keystore format
  2. 0

    I have built the {{cxf-ws-security-signature}} example contained in the assembly and installed it in ServiceMix. Next I have run {{mvn exec:java}} in the sample directory and got following error {code} java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8181/cxf/HelloWorldSecurity at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626) at org.apache.servicemix.examples.cxf.Client.sendRequest(Client.java:47) at org.apache.servicemix.examples.cxf.Client.main(Client.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) at java.lang.Thread.run(Thread.java:745) {code} Looking into the log I have found following error {code} Caused by: org.apache.wss4j.common.ext.WSSecurityException: Cannot create Crypto class org.apache.ws.security.components.crypto.Merlin Original Exception was org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials. Original Exception was java.io.IOException: Invalid keystore format at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:132)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.loadCrypto(WSHandler.java:1045)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.loadSignatureCrypto(WSHandler.java:963)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.decodeSignatureParameter2(WSHandler.java:1398)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.wss4j.dom.handler.WSHandler.doReceiverAction(WSHandler.java:347)[189:org.apache.wss4j.wss4j-ws-security-dom:2.0.3] at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:266)[195:org.apache.cxf.cxf-rt-ws-security:3.0.4] ... 39 more Caused by: org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials. Original Exception was java.io.IOException: Invalid keystore format at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:407)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.Merlin.loadProperties(Merlin.java:224)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.Merlin.<init>(Merlin.java:160)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:127)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] ... 44 more Caused by: java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)[:1.7.0_76] at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)[:1.7.0_76] at java.security.KeyStore.load(KeyStore.java:1214)[:1.7.0_76] at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:401)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3] ... 47 more {code} Checking the original {{server-truststore.jks}} gives following result {code} $ file server-truststore.jks server-truststore.jks: Java KeyStore $ file -bi server-truststore.jks application/x-java-keystore; charset=binary {code} but the same check with the file contained in the assemblied examples gives following result {code} $ file server-truststore.jks server-truststore.jks: data $ file -bi server-truststore.jks application/octet-stream; charset=binary {code} Something must be changed by the assembly plugin

    Apache's JIRA Issue Tracker | 2 years ago | Krzysztof Sobkowiak
    java.io.IOException: Invalid keystore format
  3. 0

    How to make wildfly localhost connection automatically into https?

    Stack Overflow | 2 years ago | Manuela
    jboss.server.controller.management.security_realm.UndertowRealm.keystore: org.jboss.msc.service.StartException in service jboss.server.controller.management.security_realm.UndertowRealm.keystore: JBAS015229: Unable to start service
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Use PEM Encoded CA Cert on filesystem directly for HTTPS request?

    Stack Overflow | 3 years ago | jww
    java.io.IOException: Invalid keystore format
  6. 0

    GitHub comment 97#53937122

    GitHub | 2 years ago | d0x
    java.lang.Error: java.io.IOException: Invalid keystore format

  1. kid 1 times, last 9 months ago
43 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.io.IOException

    Invalid keystore format

    at sun.security.provider.JavaKeyStore.engineLoad()
  2. Java RT
    KeyStore.load
    1. sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)[:1.7.0_76]
    2. sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)[:1.7.0_76]
    3. java.security.KeyStore.load(KeyStore.java:1214)[:1.7.0_76]
    3 frames
  3. Apache WSS4J WS-Security Common
    CryptoFactory.getInstance
    1. org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:401)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3]
    2. org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:407)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3]
    3. org.apache.wss4j.common.crypto.Merlin.loadProperties(Merlin.java:224)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3]
    4. org.apache.wss4j.common.crypto.Merlin.<init>(Merlin.java:160)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3]
    5. org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:127)[188:org.apache.wss4j.wss4j-ws-security-common:2.0.3]
    5 frames