Browsers will reject certificates if the hostname used does not appear in the SAN list
Symptoms:
Check SAN:
Subject Alternative Name.openssl x509 -in server.crt -text -noout | grep -A1 ''Subject Alternative Name''
-ext SAN=DNS:hostname,IP:serverIPEven with a certificate signed by a valid CA, the application may serve only the server certificate, without the intermediate CA
Browsers then reject the connection because the chain is incomplete
Symptoms:
Certificate chain length: 1Cause:
Check what Redpeaks is sending:
openssl s_client -connect hostname:8443 -showcerts
Check keystore:
keytool -list -v -keystore .keystore -alias <alias>
If chain length = 1, this mean the chain is incomplete
Convert CER to PEM if necessary:
openssl x509 -inform DER -in file.cer -out file.crt
Build chain:
cat intermediate.crt root.crt > chain.pem
Build PKCS12 containing key + certificate + full chain:
openssl pkcs12 -export -inkey server.key -in server.crt -certfile chain.pem -name pro_monitor -out fullcert.p12
Import into Redpeaks keystore:
keytool -importkeystore -srckeystore fullcert.p12 -srcstoretype PKCS12 -srcstorepass agentilKeyStore \
-destkeystore [REDPEAKS_HOME]/certificates/.keystore -deststoretype JKS -deststorepass agentilKeyStore
Verify:
keytool -list -v -keystore [REDPEAKS_HOME]/certificates/.keystore -alias tomcat
→ Now Certificate chain length should be 2 or 3
Even with a complete chain, clients must trust the CA root
Trusted Root Certification AuthoritiesAuthoritiesIf the CA root is missing on the client, browsers will still show ERR_CERT_AUTHORITY_INVALID or equivalent, even if the server is correctly configured