Hi,
I am testing CXF 2.7.6 on AIX 6.1 with IBM J9 JDK 7 JVM. The client and server 
are on two different machines  of same kind in both the cases IBM JVM (same 
version) is used. Both the servers has trustore/keystores based on Verisign 
signed local CA who signs the certificate for the respective machines. 
Server Side SSL Configuration:<httpj:engine-factory bus="cxf">          
<httpj:engine port="7643">                      <httpj:tlsServerParameters 
secureSocketProtocol="SSL">                          <csec:trustManagers>       
                             <csec:keyStore type="JKS" password="..." 
file="server.jks"/>                            </csec:trustManagers>            
               <csec:keyManagers keyPassword="...">                             
       <csec:keyStore type="JKS" password="..." file="server.jks"/>             
               </csec:keyManagers>                             
<csec:clientAuthentication want="false" required="false"/>                      
</httpj:tlsServerParameters>            </httpj:engine> </httpj:engine-factory>
Client Side SSL Configuration:
<http:conduit name="*.http-conduit">            <http:tlsClientParameters 
disableCNCheck="true" secureSocketProtocol="SSL">                     
<sec:trustManagers>                                                             
<sec:keyStore type="JKS" password="..." file="client.jks"/>                     
</sec:trustManagers>            </http:tlsClientParameters>     </http:conduit>
I am getting the following error:
[java] Caused by: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: 
Violated path length constraints     [java]     at com.ibm.jsse2.j.a(j.java:39) 
    [java]     at com.ibm.jsse2.qc.a(qc.java:337)     [java]     at 
com.ibm.jsse2.ab.a(ab.java:225)     [java]     at 
com.ibm.jsse2.ab.a(ab.java:162)     [java]     at 
com.ibm.jsse2.bb.a(bb.java:352)     [java]     at 
com.ibm.jsse2.bb.a(bb.java:13)     [java]     at com.ibm.jsse2.ab.r(ab.java:75) 
    [java]     at com.ibm.jsse2.ab.a(ab.java:532)     [java]     at 
com.ibm.jsse2.qc.a(qc.java:158)     [java]     at 
com.ibm.jsse2.qc.h(qc.java:272)     [java]     at 
com.ibm.jsse2.qc.a(qc.java:234)     [java]     at 
com.ibm.jsse2.qc.startHandshake(qc.java:8)     [java]     at 
com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:111)     [java]     
at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:18)     [java]     at 
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1099)
     [java]     at 
com.ibm.net.ssl.www2.protocol.https.b.getOutputStream(b.java:11)     [java]     
at 
org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:168)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1278)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1234)
     [java]     at 
org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:195)
     [java]     at 
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
     [java]     at 
org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
     [java]     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1291)
     [java]     ... 16 more     [java] Caused by: com.ibm.jsse2.util.h: 
Violated path length constraints
It works fine with IBM JDK 6 using spring configuration files shown above as 
well as Oracle/Sun JDK 7 on laptop.
However it works fine, when the truststore is configured on the command line of 
java client process using JDK 7:
java  -Dcxf.config.file=client.xml -Djavax.net.debug=all 
-Djavax.net.ssl.trustStore=client.jks -Djavax.net.ssl.trustStorePassword=... 
-Dhttps.protocols=SSLv3 com.mycomany.Client
configuration file is without any SSL configuration as shown below 
(client.xml): <http:conduit name="*.http-conduit">
  </http:conduit>

Appreciate any help on resolving this issue.
Thanks,Venkat

                                          

Reply via email to