Troubleshooting
SAML Certificate Mismatch
- Symptom
- SAML authentication fails with a certificate validation error after configuring PingFederate. The MCM server rejects the incoming SAML assertion even though the configuration appears correct.
- Cause
-
The IDP_CERT.cert uploaded to MCM does not match the signing certificate that PingFederate is using to sign SAML assertions. This can occur when:
The PingFederate signing certificate was rotated after the initial setup. The wrong certificate was downloaded or uploaded during configuration. Multiple signing certificates exist in PingFederate and the incorrect one was exported.
- Resolution
-
Step 1: Use the following steps to compare the certificate embedded in a live SAML assertion against the certificate stored on the MCM server.
- Capture the SAML response from the browser:
- Open the browser's developer tools (F12) and navigate to the Network tab.
- Attempt a SAML login to trigger an authentication flow.
- In the Network tab, locate the POST request
to:
https://%3CMCM_SERVER_FQDN%3E/enrollment/saml/callback - In the request Form Data or Payload, copy the value of the SAMLResponse parameter. This is the Base64-encoded SAML assertion.
- Extract and inspect the certificate from the SAML
response: Run the following command on any Linux shell,
replacing <base64-saml-response> with the copied
value:
This outputs the serial number, validity dates, and subject of the certificate that PingFederate used to sign the assertion.echo "<base64-saml-response>" | base64 -d | grep -o '<ds:X509Certificate>[^<]*' | head -1 \ | sed 's/<ds:X509Certificate>//' | base64 -d | openssl x509 -inform der -noout -serial -dates -subject - Inspect the certificate stored on the MCM server: Run the
following command on the MCM
server:
openssl x509 -in /var/opt/BESUEM/certs/IDP_CERT.cert -noout -serial -dates -subject - Compare the output: The serial value from both commands
must match. Example of a matching
output:
serial=1A2B3C4D5E6F... notBefore=Jan 1 00:00:00 2024 GMT notAfter=Jan 1 00:00:00 2026 GMT subject=CN=PingFederate, O=Example CorpField Expected serial Must be identical in both outputs subject Should match notAfter Must not be expired -
Resolve mismatch: If the serial numbers differ:
- Download the current signing certificate from PingFederate (see Step 5: Download IDP_CERT.cert from PingFederate Server).
- Navigate to MCM WebUI > Admin > MDM Servers > Manage Capability > Identity Service Configuration.
- Re-upload the correct IDP_CERT.cert under SAML Identity
Provider Certificate.
Save the configuration and retry the login.
Note: If “notAfter“ in the MCM-stored certificate has passed but the SAML response certificate is still valid, the certificate on the MCM server is stale. Re-upload the current certificate from PingFederate to resolve the issue.
- Capture the SAML response from the browser: