Jump to content
Martin Liddle

Problem with SSL when updating to ICS 9.3

Recommended Posts

I have been updating my software to use Delphi 12 and ICS 9.3.  There have been a lot of changes in ICS 9.3 but I have managed to work through and get things working with the exception of SSL.  Doubtless I am doing something stupid but I have run out of ideas.  I have attached a small test program.  It fails when starting with an error message "First chance exception at $7588B4C2. Exception class ESslContextException with message 'Error on reading CA certificate lines'. Process HttpTest.exe (8428)" in procedure TSslContext.LoadCAFromTB.  I would be extremely grateful if someone could point out what I am doing wrong.

Https Test.zip

Share this post


Link to post

There are a few problems with your code. 

 

For V9.3, sslRootCACertsBundle no longer returns a Base64 PEM string, but a smaller PKC12 binary TBytes.  And there is a LoadAllFromTB method that checks the format and loads the bundle correctly.

 

V9.1 loaded the default CA bundle automatiucally on startup into a public IcsSslRootCAStore component unless you undefine OpenSSL_AutoLoad_CA_Bundle, or have not updated your OverbyteIcsDefs.inc file.  SslContext has a new property UseSharedCAStore that ignores the files and lines properties and uses the preloaded store instead.

 

You are still using TSslHttpCli, replace this with TSslHttpRest and you don;t need an SslContext, it's all handled for you.

 

Angus

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×