|
There are times where the Integration Toolkit (ITK) Data Transfer Tool (DTT) may fail when using certificate based authentication with errors around SSL or handshake failures. This solution is meant for stand alone ITK instances installed on a server, not installed on the SAP NetWeaver PI.
The issue is typically due to incomplete certificate chains or incorrect certificates being used on the customer's keystore.
When troubleshooting, please check the following:
Ensure that the customer has enabled the end point in the Ariba application to be an authentication method of Certificate,
(Upstream): Manage > Administration > Integration Manager > Integration Toolkit Security
(Downstream): Manage > Core Administration > Integration Manager > Integration Toolkit Security
If the HTTPS post is failing, the customer can enable the following parameters in the toolslib.bat/.sh file in the ITK bin directory to print debug information regarding the client/server hello and handshake information:
a) Go to <ITK_install_root>/bin
b) Edit the toolslib.bat/.sh file
c) Set the following arguments and save:
Windows: set _command="%JAVA_HOME%\bin\java" -Djavax.net.debug=ssl:handshake:verbose -Dhttps.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols="TLSv1.1,TLSv1.2" -jar "%CLASSESDIR%\aribafiletransfer.jar" %args%
Linux/Unix: _command="$JAVA_HOME/bin/java -Djavax.net.debug=\"ssl:handshake:verbose\" -Dhttps.protocols=\"TLSv1.1,TLSv1.2\" -Djdk.tls.client.protocols=\"TLSv1.1,TLSv1.2\" -jar \"$CLASSESDIR/aribafiletransfer.jar\" $_args"
The next time the ITK runs and attempts to post to Ariba, the log will show the SSL handshake/certificate information.
Check the Subject, Issuer, Validity Dates for the certificate(s) found for the customer's keystore. This information should be printed after the entry in the ITK log to HTTPS post to the Ariba URL. Check that the certificate(s) found match the same client certificate information they expect to be in the keystore.
a) A valid certificate should be found from the client's keystore.
Example:
****Running File Transfer Tool at Wed Nov 11 13:22:54 PDT 2020****
posting to https://certs1.ariba.com/Buyer/filedownload?realm=abcCompany
***
found key for : <clients_keystore>
b) The *** ClientHello, TLSv1 will be initiated
c) The *** ServerHello, TLSv1 will be initiated and the Ariba public key (certificate chain) will be sent to the client
d) A trusted certificate should be found
e) The *** ClientKeyExchange, RSA PreMasterSecret, TLSv1 will be initiated where the client sends the key exchange signed with the Ariba public key
f) Ariba decrypts the PreMasterSecret. This is the point, where if a failure occurs, the user may see an error like the following. If so, the problem may lie with the certificates in the keystore: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
The valid realms are listed below,
Purchasing
Strategic Contracts
Strategic Sourcing
Supplier Information & Performance Management