Here’s the complete solution for your mTLS certificate validation failure:
1. mTLS Certificate Chain Ordering
Your error “unable to verify first certificate” indicates an incomplete certificate chain presentation. For mTLS to work between Workday tenants, you must provide the complete certificate chain in the correct order:
Subsidiary Tenant (Client Side):
Create a single PEM file with certificates ordered leaf-to-root:
-----BEGIN CERTIFICATE-----
[Client Certificate - issued to subsidiary-api-client]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[Intermediate CA - CompanySubCA]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[Root CA - CompanyRootCA]
-----END CERTIFICATE-----
Upload this complete chain to: Tenant Setup > Security > Certificates > Client Certificates. Associate it with your Integration System User for the Financial Accounting API client.
2. Intermediate CA Configuration
The critical missing piece is the intermediate CA in your parent tenant’s truststore. Workday’s SSL validation requires ALL certificates in the chain to be either presented by the client or present in the server’s truststore.
Parent Tenant (Server Side):
Upload intermediate and root CAs separately:
- Navigate to: Edit Tenant Setup - Security > Certificates > Trusted Root Certificates
- Upload CompanySubCA (intermediate) as a separate certificate
- Upload CompanyRootCA (root) as a separate certificate
- For each certificate, enable “Trust for API Authentication”
- Set validation mode to “Require Valid Certificate Chain”
3. Certificate Truststore Management
Proper truststore configuration requires understanding Workday’s validation hierarchy:
// Validation flow:
1. Client presents certificate chain
2. Workday validates leaf certificate signature against intermediate CA
3. Workday validates intermediate CA signature against root CA
4. Workday checks if intermediate and root are in truststore
5. All validations must pass for authentication success
Common mistakes:
- Only uploading root CA (missing intermediate causes verification failure)
- Uploading intermediate but not marking it as trusted for API authentication
- Certificate chain file has certificates in wrong order (root-to-leaf instead of leaf-to-root)
4. API Gateway SSL Configuration
Configure your Financial Accounting web service for mTLS:
Parent Tenant:
- Go to: View Integration System > [Your Financial Accounting Integration]
- Edit Integration Security
- Enable “Require Client Certificate for Authentication”
- Set Certificate Validation: “Validate Full Certificate Chain”
- Map certificate subject to Integration System User:
- Certificate Subject DN: CN=subsidiary-api-client,O=CompanyName
- Mapped ISU: SUBSIDIARY_API_USER
Subsidiary Tenant:
- Configure outbound integration to use certificate authentication
- In Web Service connection properties:
- Authentication Type: Certificate-Based
- Client Certificate: [Your uploaded chain]
- Verify SSL Host: Enabled
- Trust All Certificates: Disabled (force proper validation)
Verification Steps:
- Validate Certificate Chain Locally:
openssl verify -CAfile intermediate_and_root.pem client_cert.pem
# Should return: client_cert.pem: OK
- Test Certificate Chain Order:
openssl x509 -in client_chain.pem -noout -subject
# First cert should be client certificate
- Test mTLS Handshake:
openssl s_client -connect parent-tenant.workday.com:443 \
-cert client_chain.pem -key private_key.pem -showcerts
# Should complete handshake without certificate errors
Common Configuration Issues:
- Certificate expiration: Verify all certificates in chain are valid (not expired, not yet valid)
- Subject name mismatch: Certificate CN must match configured ISU mapping
- Key usage restrictions: Client certificate must have “Digital Signature” and “Key Encipherment” key usage
- Extended key usage: Must include “TLS Web Client Authentication” (OID 1.3.6.1.5.5.7.3.2)
Implementation Checklist:
- ✓ Create complete certificate chain file (leaf-to-root order)
- ✓ Upload chain to subsidiary tenant Client Certificates
- ✓ Upload intermediate CA to parent tenant Trusted Root Certificates
- ✓ Upload root CA to parent tenant Trusted Root Certificates
- ✓ Mark both CAs as trusted for API authentication
- ✓ Enable “Require Client Certificate” on Financial Accounting web service
- ✓ Map certificate subject DN to Integration System User
- ✓ Configure subsidiary outbound integration for certificate authentication
- ✓ Test with OpenSSL before attempting actual API calls
- ✓ Monitor SSL handshake logs for validation errors
Expected Outcome:
Once properly configured, the subsidiary tenant’s API calls will complete the mTLS handshake successfully. The parent tenant will validate the complete certificate chain (client → intermediate → root), authenticate the client based on certificate subject mapping, and process intercompany Financial Accounting transactions. Your API gateway will show successful SSL handshakes with certificate-based authentication in the security logs.
This draft is based on general Workday knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.