SOAP integration for risk register updates fails after SSL certificate renewal

Our automated SOAP integration that pushes risk assessment updates to an external GRC platform stopped working immediately after we renewed our SSL certificate last week. The integration was functioning perfectly for 18 months before the renewal.

We’re getting SSL handshake failures in the Trackwise logs, and the SOAP endpoint validation is failing:


javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed
Certificate chain incomplete

The new certificate was issued by the same CA, and we’ve updated it on our web server. I’m not sure if we need to update the truststore configuration in Trackwise or if there’s something else we’re missing with the certificate chain.

It’s a system-level Java truststore configuration. You’ll need to import the root CA and intermediate certificates into the JVM truststore that Trackwise uses. The location is typically in the Java installation directory. Make sure you restart the Trackwise services after updating the truststore. Also verify that your SOAP endpoint is actually using the new certificate.

I’ve dealt with this exact scenario. The certificate chain validation is critical for SOAP integrations. Beyond just importing the certificates, you should verify the chain order and ensure no intermediate certs are missing. Use OpenSSL to test the full chain before importing into the truststore.

Thanks for the guidance. I’ve obtained the full certificate chain from our CA. What’s the exact process for importing these into the Trackwise truststore? And how do I verify the SOAP endpoint is correctly configured to use them?

Did you install the full certificate chain or just the server certificate? The error suggests the intermediate CA certificates are missing. You need to import the entire chain into Trackwise’s Java truststore.

Here’s the complete solution for resolving SOAP integration SSL issues after certificate renewal.

SSL Certificate Chain Resolution

1. SSL Certificate Chain Validation: First, verify your complete certificate chain using OpenSSL:


openssl s_client -connect your-grm-platform.com:443 -showcerts
openssl verify -CAfile ca-bundle.crt server-cert.crt

You need three components:

  • Server certificate (your-domain.crt)
  • Intermediate CA certificate(s) (intermediate.crt)
  • Root CA certificate (root.crt)

The error “PKIX path building failed” confirms the intermediate certificates are missing from Trackwise’s truststore.

2. Truststore Configuration: Locate your Trackwise Java truststore (typically $JAVA_HOME/lib/security/cacerts or a custom truststore specified in Trackwise configuration).

Import the complete certificate chain:


keytool -import -alias grm-root-ca -file root.crt -keystore cacerts -storepass changeit
keytool -import -alias grm-intermediate-ca -file intermediate.crt -keystore cacerts -storepass changeit

Verify the certificates were imported:


keytool -list -keystore cacerts -storepass changeit | grep grm

3. SOAP Endpoint Validation: Update your SOAP integration configuration to explicitly validate the certificate chain. In your Trackwise SOAP connector settings:

  • Enable SSL/TLS validation: `soap.ssl.validation.enabled=true
  • Specify truststore location if using custom: `soap.ssl.truststore.path=/path/to/truststore
  • Set truststore password: `soap.ssl.truststore.password=changeit
  • Configure hostname verification: `soap.ssl.hostname.verification=STRICT For endpoint-specific configuration, update your SOAP service definition:
<endpoint url="https://grm-platform.com/soap/risk">
  <ssl-config>
    <truststore-ref>custom-truststore</truststore-ref>
    <verify-hostname>true</verify-hostname>
  </ssl-config>
</endpoint>

4. Certificate Chain Order Verification: Ensure certificates are imported in the correct order (root first, then intermediates). If you imported them incorrectly, remove and re-import:


keytool -delete -alias grm-intermediate-ca -keystore cacerts -storepass changeit

5. Testing and Validation: After importing certificates and restarting Trackwise services:

  • Test SOAP endpoint connectivity: Use a SOAP client tool to verify SSL handshake completes
  • Check Trackwise integration logs for successful SSL negotiation
  • Monitor the first few risk register updates to confirm data flow
  • Verify certificate expiration monitoring is in place

6. Common Pitfalls to Avoid:

  • Don’t import only the server certificate (chain must be complete)
  • Ensure certificate aliases are unique in the truststore
  • Restart ALL Trackwise services after truststore changes (web server, background services, integration services)
  • Verify the certificate’s Subject Alternative Names (SANs) match your SOAP endpoint hostname
  • Check that the new certificate hasn’t changed the cipher suite requirements

7. Preventive Measures:

  • Document the complete certificate chain in your integration runbook
  • Set up certificate expiration alerts 60 days before renewal
  • Test certificate renewals in non-production environments first
  • Maintain a backup of the working truststore configuration
  • Automate truststore updates using configuration management tools

Troubleshooting Tips: If issues persist after importing the chain:

  • Enable SSL debug logging: `-Djavax.net.debug=ssl,handshake
  • Check for certificate revocation (CRL/OCSP)
  • Verify system date/time is correct (affects certificate validity)
  • Confirm firewall rules allow outbound HTTPS on port 443

This should resolve your SSL handshake failures. The key is ensuring the complete certificate chain is present in the truststore before Trackwise attempts SOAP endpoint validation.