[ https://issues.apache.org/jira/browse/CXF-2403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12747495#action_12747495 ]
Wolfgang Nagele commented on CXF-2403: -------------------------------------- I have tried several ways of generating the certificates (using openssl and keytool alone) none of them worked. Also i do not understand how the workaround would make it work if the keystore were the problem? I have also tried full VS relative path configurations both did not work. The keystore is in the same directory as the application, but i also do not understand how that would change this. The way i generate the client certificate (attached an example with password set as 'password'): openssl genrsa -des3 -out client.key 1024 openssl req -new -x509 -key client.key -out client.crt -days 1000 openssl pkcs12 -export -out client.p12 -inkey client.key -in client.crt keytool -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -destkeystore keystore For the truststore i import the server.crt that i already have: keytool -import -v -trustcacerts -file server.crt -keystore truststore > Use of client certificates via http conduit configuration broken > ---------------------------------------------------------------- > > Key: CXF-2403 > URL: https://issues.apache.org/jira/browse/CXF-2403 > Project: CXF > Issue Type: Bug > Components: Configuration > Reporter: Wolfgang Nagele > > To use standard SSL client certificates for authentication the following > configuration should work: > <http:conduit name="*.http-conduit"> > <http:tlsClientParameters> > <sec:keyManagers keyPassword="password"> > <sec:keyStore type="JKS" password="password" file="keystore" /> > </sec:keyManagers> > <sec:trustManagers> > <sec:keyStore type="JKS" password="password" file="truststore" /> > </sec:trustManagers> > </http:tlsClientParameters> > </http:conduit> > In this configuration we would have the public certificate of the server we > want to connect to in the truststore and the private key and certificate in > the keystore. > With the current CXF implementation this results in the following exception: > sun.security.provider.certpath.SunCertPathBuilderException: unable to find > valid certification path to requested target > at > sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174) > [na:1.6.0_13] > at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238) > [na:1.6.0_13] > at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280) > [na:1.6.0_13] > ... 39 common frames omitted > Once we additionally define the following properties it works: > * javax.net.ssl.keyStore=keystore > * javax.net.ssl.keyStorePassword=password > * javax.net.ssl.trustStore=truststore > * javax.net.ssl.trustStorePassword=password > This however results in very ugly setups where we have to define the same > data twice. Also we miss out on CXF's option of defining specific keystores > and truststores per webservice. > For further information also see: http://www.quendor.org/archiv/428 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.