You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicemix.apache.org by "Krzysztof Sobkowiak (JIRA)" <ji...@apache.org> on 2015/04/01 23:30:54 UTC

[jira] [Created] (SM-2492) Wrong sample keystore format in examples contained in the assembly

Krzysztof Sobkowiak created SM-2492:
---------------------------------------

             Summary: Wrong sample keystore format in examples contained in the assembly
                 Key: SM-2492
                 URL: https://issues.apache.org/jira/browse/SM-2492
             Project: ServiceMix
          Issue Type: Bug
          Components: assemblies, examples
            Reporter: Krzysztof Sobkowiak
             Fix For: 5.1.6, 5.2.1, 5.3.2, 5.4.1, 5.5.0, 6.0.0.M2, 6.0.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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)