When setting up SSL with public certificates for Strategy Library on Android, you may receive a Failed to validate certificate error.

Most public certification authorities (CAs) don't sign server certificates directly. Instead, they use their main CA certificate, referred to as the root CA, to sign intermediate CAs. This allows the root CA to be stored offline to reduce risk of compromise. However, operating systems like Android typically trust only root CAs. As a result, the app on the Android device produces an error if the certificate chain is not sent to the client.
Run the following command to test if a certification chain is missing:
openssl s_client -showcerts -connect [Web server host name]:8443
To resolve this, the server sends a chain of certificates from the server CA through any intermediaries necessary to reach a trusted CA during the SSL handshake, instead of the server sending only the client certificate.

openssl pkcs12 -in IntermediateCert.p12 -nocerts -nodes -out private.key.pem
openssl pkcs12 -in missing.intermediate.p12 -nokeys -out server_only.cert.pem



copy server_only.cert.pem + ICA.cer chain.cert.pem
cat server_only.cert.pem ICA.cer > chain.cert.pem
openssl pkcs12 -export -in chain.cert.pem -inkey private.key.pem -out newIntermediateCert.p12
openssl s_client -showcerts -connect [Web server host name]:8443