cancel
Showing results for 
Search instead for 
Did you mean: 

Running ssl client from multiple applications fails in Sap j2ee engine

Former Member
0 Kudos

There are two applications making ssl connections to third party.

At a time only one application is able to make connection while other

throws error message <b>"No trusted certificate found".</b>

Currently we have two j2ee applications running in SAP j2ee server. Both applications makes ssl connection to third party servers. Lets call first application as A1 and second application as A2.

A1 is an internet shopping application . It makes ssl connection to third party services at two places . One is while fetching the shipping charges from UPS site.

Code Snippet:

java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

System.getProperties().put("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");

String lo_url = new URL("https://wwwcie.ups.com/ups.app/xml/Rate");

lo_connection = (URLConnection) lo_url.openConnection();

At other place A1 connects to cybersource service using webservice +ssl for credit card authentication using cybersource API. It uses certificate in p12 format.

Code Snippet:

com.cybersource.ws.client.axis.soap.RequestMessage lo_requestMessage = new com.cybersource.ws.client.axis.soap.RequestMessage();

Properties lo_cybsProperties = new Properties();

lo_cybsProperties.setProperty("merchantId","arvato");

lo_cybsProperties.setProperty("merchantRefCode","1234")

lo_requestMessage.setMerchantID( "arvato");

lo_requestMessage.setMerchantReferenceCode( "1234" );

lo_cybsProperties.setProperty("cybersourceURL","https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor");

lo_cybsProperties.setProperty("keysDir", "./WEB-INF/config");

lo_requestMessage.setBillTo(setBillToAddress(po_mdsBillingAddress) );

// add ship to address

lo_requestMessage.setShipTo(setShipToAddress(po_mdsShiToAddress));

lo_requestMessage.setPurchaseTotals( setPurchaseTotal() );

//set cc details

lo_requestMessage.setCard( setCardDetails(po_mdsCreditCard) );

/**********

Set Items and total tax calculation

************/

lo_replyMessage = com.cybersource.ws.client.axis.soap.Client.runTransaction( lo_requestMessage, lo_cybsProperties );

A2 Application

This application connects to Motorola secured web service to fetch details of mobile hand set. It uses keystore to create ssl connection with Motorola webservice.

Code Snippet

try {

TrustManager[] trustAllCerts = new TrustManager[]{

new X509TrustManager() {

public java.security.cert.X509Certificate[] getAcceptedIssuers() {

return new java.security.cert.X509Certificate[0];

}

public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {}

public void checkServerTrusted(

java.security.cert.X509Certificate[] certs, String authType) {

}

}

};

SSLContext sc = SSLContext.getInstance("SSL");

sc.init(null, trustAllCerts, new java.security.SecureRandom());

} catch (Exception e) {

e.printStackTrace();

}

System.setProperty("javax.net.ssl.trustStore","SapWSM.keystore");

System.setProperty("javax.net.ssl.trustStorePassword","xxxx");

System.setProperty("javax.net.ssl.keyStore","SapWSM.keystore");

System.setProperty("javax.net.ssl.keyStorePassword","xxxx");

Problem Cases :

Case 1

Step 1 : Server starts

Step 2 : User access A1 first

Step3: A1 Connects to UPS using https (It is able to connect)

Step4: A1 connects to cybersource using webservice+ssl (It is able to connect)

Step 5: Another user access A2

Step6: A2 tries connection to Motorola webservice over ssl

Result connectivity fails with description "No trusted certificate found".

Case2

Step 1 : Server starts

Step 2 : User access A2 first

Step3: A2 tries connection to Motorola webservice over ssl (It is able to connect)

Step 5: Another user access A1

Step6: A1 connects to cybersource using webservice+ssl

Result connectivity fails with description "No trusted certificate found".

Case3

Step 1 : Server starts

Step 2 : User access A2 first

Step3: A2 tries connection to Motorola webservice over ssl (It is able to connect)

Step 5: Another user access A1

Step6: A1 connects to UPS using ssl

Result connectivity fails with description "No trusted certificate found".

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Please answer my query it is really <b>

urgen

t</b> and we are not able to run both the applications in same server

Former Member
0 Kudos

Hi

Have you solved this problem?

Former Member
0 Kudos

No this problem still exists , We are running two applications on different server but we definitely like to have solution for this