Skip to content

Failed to connect to partner using SSL certificate - failed file moved to sent instead of error #520

@tanakaPD

Description

@tanakaPD

Problem: sending to partner "mypartneras2" HTTPS url with wrong or missing SSL certificate failed
Expected behavior: file moved to data/outbox/mypartneras2/error/
Actual behavior: message sending failed is detected (state_msg=Message sending failed) but file moved to data/sent like a successful transmission

Excerpt from debug log:


2026-04-09 18:59:43.264 [AS2DirectoryPollingModule] DEBUG org.openas2.processor.DefaultProcessor - Processor searching for module handler for action: track_msg
2026-04-09 18:59:43.265 [AS2DirectoryPollingModule] INFO  org.openas2.processor.sender.AS2SenderModule - Connecting to: https://mypartneras2.com:4443 [<OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2>]
2026-04-09 18:59:43.265 [Thread-2025] DEBUG org.openas2.processor.msgtracking.DbTrackingModule - Tracking record successfully persisted to database: {state_msg=Message sending started, is_resend=N, receiver_id=mypartneras2, file_name=file_name_0, resend_count=0, sender_id=me, content_transfer_encoding=null, content_type=application/EDI-X12, sent_file_name=file_name_0, prior_msg_id=null, signature_algorithm=sha256, mdn_mode=SYNC, encryption_algorithm=3des, state=msg_send_start, msg_id=<OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2>, compression=null, direction=SEND, status=sending_msg}
2026-04-09 18:59:43.442 [AS2DirectoryPollingModule] ERROR org.openas2.processor.sender.AS2SenderModule - Failed to connect to partner using SSL certificate. Please run the SSL certificate checker utility to identify the issue: https://mypartneras2.com:4443
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:130)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:383)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:326)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:647)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:467)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:363)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:393)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:476)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:447)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:206)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.upgrade(DefaultHttpClientConnectionOperator.java:191)
	at org.apache.http.impl.conn.BasicHttpClientConnectionManager.upgrade(BasicHttpClientConnectionManager.java:325)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:428)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.openas2.util.HTTPUtil.execRequest(HTTPUtil.java:411)
	at org.openas2.processor.sender.AS2SenderModule.sendMessage(AS2SenderModule.java:194)
	at org.openas2.processor.sender.AS2SenderModule.handle(AS2SenderModule.java:134)
	at org.openas2.processor.DefaultProcessor.handle(DefaultProcessor.java:55)
	at org.openas2.processor.receiver.MessageBuilderModule.processDocument(MessageBuilderModule.java:241)
	at org.openas2.processor.receiver.MessageBuilderModule.processDocument(MessageBuilderModule.java:122)
	at org.openas2.processor.receiver.DirectoryPollingModule.processFile(DirectoryPollingModule.java:309)
	at org.openas2.processor.receiver.DirectoryPollingModule.processSingleFile(DirectoryPollingModule.java:212)
	at org.openas2.processor.receiver.DirectoryPollingModule.updateTracking(DirectoryPollingModule.java:288)
	at org.openas2.processor.receiver.DirectoryPollingModule.poll(DirectoryPollingModule.java:122)
	at org.openas2.processor.receiver.PollingModule$PollTask.run(PollingModule.java:61)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:388)
	at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:271)
	at java.base/sun.security.validator.Validator.validate(Validator.java:256)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:230)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:631)
	... 34 common frames omitted
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:129)
	at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:383)
	... 39 common frames omitted
2026-04-09 18:59:43.504 [AS2DirectoryPollingModule] DEBUG org.openas2.processor.DefaultProcessor - Processor searching for module handler for action: track_msg
2026-04-09 18:59:43.526 [AS2DirectoryPollingModule] DEBUG org.openas2.processor.receiver.MessageBuilderModule - Calling AS2Util.cleanupFiles from processDocument method.
2026-04-09 18:59:43.526 [AS2DirectoryPollingModule] DEBUG org.openas2.util.IOUtil - Deleted file /OpenAS2/bin/../config/../data/pendinginfoMDN3/OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2
2026-04-09 18:59:43.526 [AS2DirectoryPollingModule] DEBUG org.openas2.util.IOUtil - Deleted file /OpenAS2/bin/../config/../data/pendingMDN3/OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2.object
2026-04-09 18:59:43.541 [AS2DirectoryPollingModule] DEBUG org.openas2.util.IOUtil - Moved file atomically from /OpenAS2/bin/../config/../data/pendingMDN3/OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2 to /OpenAS2/bin/../config/../data/sent/2026/file_name_0-OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2
2026-04-09 18:59:43.541 [AS2DirectoryPollingModule] DEBUG org.openas2.util.AS2Util - Pending MDN MSG FILE file /OpenAS2/bin/../config/../data/pendingMDN3/OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2 moved to /OpenAS2/bin/../config/../data/sent/2026/file_name_0-OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2 [<OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2>]
2026-04-09 18:59:43.541 [Thread-2026] DEBUG org.openas2.processor.msgtracking.DbTrackingModule - Tracking record successfully persisted to database: {state_msg=Message sending failed., is_resend=N, receiver_id=mypartneras2, file_name=file_name_0, resend_count=0, sender_id=nexi, content_transfer_encoding=null, content_type=application/EDI-X12, sent_file_name=file_name_0, prior_msg_id=null, signature_algorithm=sha256, mdn_mode=SYNC, encryption_algorithm=3des, state=msg_send_fail, msg_id=<OPENAS2-20260409185943+0200-b124c732-d107-4ed5-8dc2-6b25c44423a7-me_mypartneras2>, compression=null, direction=SEND, status=sending_msg}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions