We have a program on our IBMi that leverages HTTPAPI; It is used to facilitate posting data to a business partner's URL. This has been in place for many years and has been working with no issue.
Now, it seems that the partner has updated the SSL cert used on their site; Previous cert was issued by Comodo CA... the new cert is issued by Sectigo CA.
Since they updated their cert, we have not been able to connect using HTPAPI. We are using a very old version of HTTPAPI, which may be contributing to the issue, but alas.
I believe that the issue is that the server's SSL cert won't chain up - and we need to add the Sectigo CA bundle... somewhere. This is the question. where does this need to be? In DCM? I log into DCM and open the *SYSTEM store... there really isn't much of anything there.
Is there some other cert store where we might need to add the Sectigo CA bundle?
Is there any config settings anywhere for the HTTPAPI that we might look at?
Our developer ran in debug, and this is what we get...
Code: Select all
HTTPAPI Ver 1.12 released 2005-08-12
New iconv() objects set, ASCII=819. EBCDIC=0
http_url_post_stmf(): entered
getting post file size...
opening file to be sent...
opening file to be received
http_persist_open(): entered
http_long_ParseURL(): entered
https_init(): entered
-------------------------------------------------------------------------------------
Dump of local-side certificate information:
-------------------------------------------------------------------------------------
(GSKit) Peer not recognized or badly formatted message received.
ssl_error(415): (GSKit) Peer not recognized or badly formatted message received.
SetError() #30: SSL Handshake: (GSKit) Peer not recognized or badly formatted message received.
-------------------------------------------------------------------------------------
Dump of server-side certificate information:
-------------------------------------------------------------------------------------
Cert Validation Code = 0
(GSKit) An operation which is not valid for the current TLS session state was attempted.
ssl_error(5): (GSKit) An operation which is not valid for the current TLS session state was attempted.
(GSKit) An operation which is not valid for the current TLS session state was attempted.
http_url_post_stmf(): entered
getting post file size...
opening file to be sent...
opening file to be received
http_persist_open(): entered
http_long_ParseURL(): entered
(GSKit) Peer not recognized or badly formatted message received.
ssl_error(415): (GSKit) Peer not recognized or badly formatted message received.
SetError() #30: SSL Handshake: (GSKit) Peer not recognized or badly formatted message received.