Azure CDN Classic BYOC: "Multiple server (leaf) certificates" error with Sectigo PFX

Cris Francisco 20 Reputation points
2026-04-09T22:45:17.83+00:00

I am attempting to move from a Managed Certificate to Bring Your Own Certificate (BYOC) on an Azure CDN (classic) profile (Microsoft SKU) before the April 14th deadline.

The Setup:

  • Resource: Azure CDN Standard from Microsoft (classic).

Certificate: Sectigo Public Server Authentication (Root R46 -> Intermediate R36 -> Leaf).

Storage: Key Vault (Secret) as a Base64 encoded PFX with no password.

Permissions: CDN has Get secret permissions on the Key Vault.

The Problem: Every time I attempt to Save the custom domain settings with "Use my own certificate," the portal returns:

“Failed to update custom domain properties: The certificate chain includes multiple server (leaf) certificates.”

Troubleshooting already performed:

Surgical Rebuild: Used OpenSSL to extract the key, leaf, and intermediate separately and rebuild the PFX to ensure no duplicates exist.

Metadata Stripping: Used openssl x509 to strip all "Friendly Names" and attributes before bundling.

No-Chain Test: Attempted to upload a PFX containing only the leaf and private key.

Format Check: Verified the Secret Content Type is set to application/x-pkcs12.

Verified Status: Confirmed the Root (R46) is on the Microsoft Trusted CA list.

Opt-Out: I have already registered the DoNotAutoMigrateClassicManagedCertificatesProfiles feature flag as a safety measure.

Question: Is there a known issue with the legacy CDN Classic validator and the modern Sectigo R36 intermediate? How can I get this certificate bound to the domain when the portal's validation logic appears to be incorrectly flagging the intermediate as a second leaf?

Azure Content Delivery Network
0 comments No comments

Answer accepted by question author
Vallepu Venkateswarlu 10,590 Reputation points Microsoft External Staff Moderator
2026-04-10T00:24:54.6533333+00:00

Hi @ Cris Francisco,

Welcome to Microsoft Q&A Platform.

It looks like the classic CDN (Microsoft SKU) validator is choking on the Sectigo R36 intermediate and flagging it as a second leaf cert. This is a known quirk in the legacy portal validation logic when it encounters a cross-signed intermediate.

  • Rebuild the PFX with only the leaf cert and the correct R36 intermediate (signed by your R46 root), and exclude the root entirely.
  • Download the “Sectigo Public Server Authentication R36 (signed by R46)” intermediate from Sectigo’s repo (not the cross-signed one).
  • Use OpenSSL to merge in this exact intermediate below your leaf, then build the PFX:
cat leaf.crt sectigo-r36-by-r46.crt > chain.pem  
openssl pkcs12 -export \
  -inkey leaf.key \
  -in leaf.crt \
  -in sectigo-r36-by-r46.crt \
  -out bundle.pfx \
  -nodes  

• Verify the chain order in the PFX: openssl pkcs12 -in bundle.pfx -nokeys -info

Exclude the root certificate from the PFX. Classic CDN only needs leaf → intermediate. Including the root can trip its validator.

Bypass the portal’s buggy validation by using Azure CLI or PowerShell to bind your BYOC cert directly from Key Vault:

az cdn custom-domain enable-https \
  --resource-group MyRG \
  --profile-name MyCDNProfile \
  --endpoint-name MyEndpoint \
  --name www.contoso.com \
  --certificate-source AzureKeyVault \
  --vault-name MyKV \
  --secret-name myPfxSecret \
  --secret-version <version> \
  --vault-resource-id /subscriptions/.../vaults/MyKV

Hope this helps you get past the classic-portal validator. Once you have a clean leaf+R36 chain PFX and/or you push it via CLI, it should bind successfully!

Reference docs

Configure HTTPS on an Azure CDN custom domain (Classic BYOC): https://learn.microsoft.com/azure/cdn/cdn-custom-ssl?tabs=option-1-default-enable-https-with-a-cdn-managed-certificate

HTTPS and SSL config for Azure CDN: https://learn.microsoft.com/azure/cdn/cdn-http-https

Please210246-screenshot-2021-12-10-121802.pngand “up-vote” wherever the information provided helps you, this can be beneficial to other community members.

Was this answer helpful?


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.