IBM Support

HTTPS Client Post service fails due to HANDSHAKE_FAILURE during SSL certificate negotiation

Troubleshooting


Problem

HTTPs Client in Sterling B2B Integrator (SBI) connecting to 3rd party HTTPs Server where 2-way SSL Authentication is enabled. i.e., both Server and Client SSL authentication. -- HTTPS Client Business Process fails in HTTP Post service with the following status report. HTTP Status Code: -1 HTTP Reason Phrase: Internal Error: Connection was closed from the perimeter side with error: CloseCode.HANDSHAKE_FAILURE -- PSLogger.log/perimeter.log reports an exception ERROR <765709605> 000000000000 GLOBAL_SCOPE HTTPClientAdapter_HTTPClientAdapter_node1-Thread-201228867893com.sterlingcommerce.perimeter.api.conduit.SSLByteDataConduit@4481fe04:Got exception doing SSL ERROR <765709605> 000000000000 GLOBAL_SCOPE [1400769340210] FATAL Alert:HANDSHAKE_FAILURE - The handshake handler was unable to negotiate an acceptable set of security parameters. Description: Alert Received. ERRORDTL <765709605> 000000000000 GLOBAL_SCOPE [1400769340210]com.certicom.net.ssl.b: FATAL Alert:HANDSHAKE_FAILURE - The handshake handler was unable to negotiate an acceptable set of security parameters. Description: Alert Received. at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown Source) at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertReceived(Unknown Source) at com.certicom.tls.record.alert.a.a(Unknown Source) at com.certicom.tls.record.alert.a.a(Unknown Source) at com.certicom.tls.record.g.a(Unknown Source) at com.certicom.tls.record.g.a(Unknown Source) at com.certicom.tls.record.k.f(Unknown Source) at com.certicom.tls.record.k.c(Unknown Source) at com.certicom.tls.record.k.b(Unknown Source) at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source) at com.certicom.tls.record.k.read(Unknown Source) at com.sterlingcommerce.perimeter.api.conduit.SSLByteDataConduit.lowLevelRead(SSLByteDataConduit.java:453) at com.sterlingcommerce.perimeter.api.conduit.SSLByteDataConduit.receive(SSLByteDataConduit.java:399) at com.sterlingcommerce.perimeter.api.conduit.SSLByteDataConduit.receive(SSLByteDataConduit.java:336) at com.sterlingcommerce.perimeter.api.conduit.SSLByteDataConduit.canReceive(SSLByteDataConduit.java:509) at com.sterlingcommerce.perimeter.api.conduit.SSLByteConduit.canReceive(SSLByteConduit.java:268) at com.sterlingcommerce.perimeter.api.conduit.DataConduitApiImpl$4.body(DataConduitApiImpl.java:316) at com.sterlingcommerce.perimeter.api.ContextRunnable.run(ContextRunnable.java:52) at com.sterlingcommerce.perimeter.api.scheduler.PooledScheduler$GatingScheduler$1.run(PooledScheduler.java:239) at com.sterlingcommerce.perimeter.api.scheduler.TaskNode.run(TaskNode.java:73) at com.sterlingcommerce.perimeter.api.scheduler.DebugPooledExecutor$Worker.run(DebugPooledExecutor.java:795) at java.lang.Thread.run(Thread.java:619)

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Adapters","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Document Information

Modified date:
09 January 2020

UID

swg21674723