[jira] [Created] (AXIS2-5892) Mutliple Client cert is not working with axis2 client

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (AXIS2-5892) Mutliple Client cert is not working with axis2 client

JIRA jira@apache.org
Ashish Mandloi created AXIS2-5892:
-------------------------------------

             Summary: Mutliple Client cert is not working with axis2 client
                 Key: AXIS2-5892
                 URL: https://issues.apache.org/jira/browse/AXIS2-5892
             Project: Axis2
          Issue Type: Bug
          Components: client-api
            Reporter: Ashish Mandloi


Hi

We have client which connecting to soap server and they have provided us client certificate which we have to installed in our keystore.  It was working fine until we have other client certificate from server. We have installed it in keystore and first call to webservie is working fine but for the second call we are getting the below Exception

{code:java}

org.apache.axis2.AxisFault: unknown
        at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:517)
        at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
        at com.auruspay.manager.issuer.participants.processor.credibanco.VPOSWS20SOAPStub.authorize(VPOSWS20SOAPStub.java:193)
        at com.auruspay.manager.issuer.participants.processor.credibanco.CredibancoCartridge.connect(CredibancoCartridge.java:109)
        at com.auruspay.manager.issuer.participants.processor.credibanco.PauseCredibancoProcessor.run(CredibancoParticipant.java:92)
        at java.lang.Thread.run(Thread.java:745)

{code}


*Here is my code *

{code:java}

ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("/home/amandloi/Development/Kushki/Colombia/updated plugin/credibanco-plugin-api-java-2.1.0/resources/", null);

                        VPOSWS20SOAPStub  serviceVPOSWS = new VPOSWS20SOAPStub(ctx, urlService);

                        ServiceClient client = serviceVPOSWS._getServiceClient();
                        client.engageModule("rampart");
                        Options clientOptions = new Options();
                        clientOptions.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, getOutflowConfiguration());
                        clientOptions.setProperty(WSSHandlerConstants.INFLOW_SECURITY, getInflowConfiguration());
                        //clientOptions.setUserName("client cert");
                        //clientOptions.setPassword("k12345");
                        clientOptions.setTo(new EndpointReference(urlService));
                        //clientOptions.setTimeOutInMilliSeconds(1000);
                        clientOptions.setProperty(HTTPConstants.SO_TIMEOUT, 10000);
                        clientOptions.setProperty(HTTPConstants.CONNECTION_TIMEOUT, 10000);
                        clientOptions.setManageSession(false);
                       
                        client.setOptions(clientOptions);
                        client.setCachingOperationContext(false);
                        System.out.println("URL :"+client.getOptions().getTo().getAddress());
                        serviceVPOSWS._setServiceClient( client );
                       
                        /*serviceVPOSWS._getServiceClient().getOptions().setProperty(HTTPConstants.SO_TIMEOUT, new Integer("10000"));
        serviceVPOSWS._getServiceClient().getOptions().setProperty(HTTPConstants.CONNECTION_TIMEOUT, new Integer("10000"));*/
                        //VPOSWS20SOAPStub vposws20soapStub = new VPOSWS20SOAPStub("https://testecommerce.credibanco.com/vpos2/services/VPOSWS20SOAP?wsdl");
                        time1 = System.currentTimeMillis();
                        System.out.println(new Date());
                        reqResp = serviceVPOSWS.authorize(req);


 private  Parameter getOutflowConfiguration() {
        OutflowConfiguration ofc = new OutflowConfiguration();
        ofc.setActionItems("Signature Encrypt Timestamp");
        String fileName= "COMKEYCONFIG_"+clientID+".properties";
        LOG.info(participant.getTxnLogKey() + " PROPERTIES FILE NAME:"+fileName);
        ofc.setSignaturePropFile(fileName);
       
        //ofc.setSignatureKeyIdentifier("X509KeyIdentifier");
        ofc.setSignatureKeyIdentifier("DirectReference") ;
        ofc.setUser("client cert");
        ofc.setPasswordCallbackClass("com.auruspay.manager.issuer.participants.processor.credibanco.ClientPWCBHandler");
        ofc.setEncryptionPropFile(fileName);
        ofc.setEncryptionUser("vposwscrypto");
        ofc.setEncryptionKeyIdentifier("X509KeyIdentifier");
        LOG.info("ofc.getProperty() OUTPUTFLOW : "+ofc.getProperty().toString());
        return ofc.getProperty();
    }

    private  Parameter getInflowConfiguration() {
        InflowConfiguration ifc = new InflowConfiguration();

        ifc.setActionItems("Signature Timestamp");
        String fileName= "COMKEYCONFIG_"+clientID+".properties";
        ifc.setSignaturePropFile(fileName);
        ifc.setPasswordCallbackClass("com.auruspay.manager.issuer.participants.processor.credibanco.ClientPWCBHandler");

        LOG.info("ifc.getProperty() INPUTFLOW : "+ifc.getProperty().toString());
        return ifc.getProperty();
    }

{code}


*Configuration for properties file *

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=PKCS12
org.apache.ws.security.crypto.merlin.keystore.password=k12345
org.apache.ws.security.crypto.merlin.file=/home/test/Downloads/COM.p12






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]