Azure Certificate Authority details

This article outlines the specific root and subordinate Certificate Authorities (CAs) that are employed by Azure's service endpoints. It is important to note that this list is distinct from the trust anchors provided on Azure VMs and hosted services, which leverage the trust anchors provided by the operating systems themselves. The scope includes government and national clouds. The minimum requirements for public key encryption and signature algorithms, links to certificate downloads and revocation lists, and information about key concepts are provided below the CA details tables. The host names for the URIs that should be added to your firewall allowlists are also provided.

Certificate Authority details

Any entity trying to access Microsoft Entra identity services via the TLS/SSL protocols will be presented with certificates from the CAs listed in this article. Different services may use different root or intermediate CAs. The following root and subordinate CAs are relevant to entities that use certificate pinning.

How to read the certificate details:

  • The Serial Number (top string in the table) contains the hexadecimal value of the certificate serial number.
  • The Thumbprint (bottom string in the table) is the SHA1 thumbprint.
  • CAs listed in italics are the most recently added CAs.

Root Certificate Authorities

Certificate Authority Serial Number /
Thumbprint
DigiCert Global Root CA 0x083be056904246b1a1756ac95991c74a
A8985D3A65E5E5C4B2D7D66D40C6DD2FB19C5436
DigiCert Global Root G2 0x033af1e6a711a9a0bb2864b11d09fae5
DF3C24F9BFD666761B268073FE06D1CC8D4F82A4
DigiCert Global Root G3 0x055556bcf25ea43535c3a40fd5ab4572
7E04DE896A3E666D00E687D33FFAD93BE83D349E
Entrust Root Certification Authority G2 4a538c28
8CF427FD790C3AD166068DE81E57EFBB932272D4
Microsoft ECC Root Certificate Authority 2017 0x66f23daf87de8bb14aea0c573101c2ec
999A64C37FF47D9FAB95F14769891460EEC4C3C5
Microsoft RSA Root Certificate Authority 2017 0x1ed397095fd8b4b347701eaabe7f45b3
73A5E64A3BFF8316FF0EDCCC618A906E4EAE4D74

Subordinate Certificate Authorities

Certificate Authority Serial Number
Thumbprint
DigiCert Basic RSA CN CA G2 0x02f7e1f982bad009aff47dc95741b2f6
4D1FA5D1FB1AC3917C08E43F65015E6AEA571179
DigiCert Cloud Services CA-1 0x019ec1c6bd3f597bb20c3338e551d877
81B68D6CD2F221F8F534E677523BB236BBA1DC56
DigiCert SHA2 Secure Server CA 0x02742eaa17ca8e21c717bb1ffcfd0ca0
626D44E704D1CEABE3BF0D53397464AC8080142C
DigiCert TLS Hybrid ECC SHA384 2020 CA1 0x0a275fe704d6eecb23d5cd5b4b1a4e04
51E39A8BDB08878C52D6186588A0FA266A69CF28
DigiCert TLS RSA SHA256 2020 CA1 0x06d8d904d5584346f68a2fa754227ec4
1C58A3A8518E8759BF075B76B750D4F2DF264FCD
DigiCert TLS RSA SHA256 2020 CA1 0a3508d55c292b017df8ad65c00ff7e4
6938FD4D98BAB03FAADB97B34396831E3780AEA1
Entrust Certification Authority - L1K 0ee94cc30000000051d37785
F21C12F46CDB6B2E16F09F9419CDFF328437B2D7
Entrust Certification Authority - L1M 61a1e7d20000000051d366a6
CC136695639065FAB47074D28C55314C66077E90
GeoTrust Global TLS RSA4096 SHA256 2022 CA1 0x0f622f6f21c2ff5d521f723a1d47d62d
7E6DB7B7584D8CF2003E0931E6CFC41A3A62D3DF
Microsoft Azure ECC TLS Issuing CA 03 0x01529ee8368f0b5d72ba433e2d8ea62d
56D955C849887874AA1767810366D90ADF6C8536
Microsoft Azure ECC TLS Issuing CA 03 0x330000003322a2579b5e698bcc000000000033
91503BE7BF74E2A10AA078B48B71C3477175FEC3
Microsoft Azure ECC TLS Issuing CA 04 0x02393d48d702425a7cb41c000b0ed7ca
FB73FDC24F06998E070A06B6AFC78FDF2A155B25
Microsoft Azure ECC TLS Issuing CA 04 0x33000000322164aedab61f509d000000000032
406E3B38EFF35A727F276FE993590B70F8224AED
Microsoft Azure ECC TLS Issuing CA 07 0x0f1f157582cdcd33734bdc5fcd941a33
3BE6CA5856E3B9709056DA51F32CBC8970A83E28
Microsoft Azure ECC TLS Issuing CA 07 0x3300000034c732435db22a0a2b000000000034
AB3490B7E37B3A8A1E715036522AB42652C3CFFE
Microsoft Azure ECC TLS Issuing CA 08 0x0ef2e5d83681520255e92c608fbc2ff4
716DF84638AC8E6EEBE64416C8DD38C2A25F6630
Microsoft Azure ECC TLS Issuing CA 08 0x3300000031526979844798bbb8000000000031
CF33D5A1C2F0355B207FCE940026E6C1580067FD
Microsoft Azure RSA TLS Issuing CA 03 0x05196526449a5e3d1a38748f5dcfebcc
F9388EA2C9B7D632B66A2B0B406DF1D37D3901F6
Microsoft Azure RSA TLS Issuing CA 03 0x330000003968ea517d8a7e30ce000000000039
37461AACFA5970F7F2D2BAC5A659B53B72541C68
Microsoft Azure RSA TLS Issuing CA 04 0x09f96ec295555f24749eaf1e5dced49d
BE68D0ADAA2345B48E507320B695D386080E5B25
Microsoft Azure RSA TLS Issuing CA 04 0x330000003cd7cb44ee579961d000000000003c
7304022CA8A9FF7E3E0C1242E0110E643822C45E
Microsoft Azure RSA TLS Issuing CA 07 0x0a43a9509b01352f899579ec7208ba50
3382517058A0C20228D598EE7501B61256A76442
Microsoft Azure RSA TLS Issuing CA 07 0x330000003bf980b0c83783431700000000003b
0E5F41B697DAADD808BF55AD080350A2A5DFCA93
Microsoft Azure RSA TLS Issuing CA 08 0x0efb7e547edf0ff1069aee57696d7ba0
31600991ED5FEC63D355A5484A6DCC787EAD89BC
Microsoft Azure RSA TLS Issuing CA 08 0x330000003a5dc2ffc321c16d9b00000000003a
512C8F3FB71EDACF7ADA490402E710B10C73026E
Microsoft ECC TLS Issuing AOC CA 01 0x33000000282bfd23e7d1add707000000000028
30AB5C33EB4B77D4CBFF00A11EE0A7507D9DD316
Microsoft ECC TLS Issuing AOC CA 02 0x33000000290f8a6222ef6a5695000000000029
3709CD92105D074349D00EA8327F7D5303D729C8
Microsoft ECC TLS Issuing EOC CA 01 0x330000002a2d006485fdacbfeb00000000002a
5FA13B879B2AD1B12E69D476E6CAD90D01013B46
Microsoft ECC TLS Issuing EOC CA 02 0x330000002be6902838672b667900000000002b
58A1D8B1056571D32BE6A7C77ED27F73081D6E7A
Microsoft RSA TLS Issuing AOC CA 01 0x330000002ffaf06f6697e2469c00000000002f
4697FDBED95739B457B347056F8F16A975BAF8EE
Microsoft RSA TLS Issuing AOC CA 02 0x3300000030c756cc88f5c1e7eb000000000030
90ED2E9CB40D0CB49A20651033086B1EA2F76E0E
Microsoft RSA TLS Issuing EOC CA 01 0x33000000310c4914b18c8f339a000000000031
A04D3750DEBFCCF1259D553DBEC33162C6B42737
Microsoft RSA TLS Issuing EOC CA 02 0x3300000032444d7521341496a9000000000032
697C6404399CC4E7BB3C0D4A8328B71DD3205563

Client compatibility for public PKIs

The CAs used by Azure are compatible with the following OS versions:

Windows Firefox iOS macOS Android Java
Windows XP SP3+ Firefox 32+ iOS 7+ OS X Mavericks (10.9)+ Android SDK 5.x+ Java JRE 1.8.0_101+

Review the following action steps when CAs expire or change:

  • Update to a supported version of the required OS.
  • If you can't change the OS version, you may need to manually update the trusted root store to include the new CAs. Refer to documentation provided by the manufacturer.
  • If your scenario includes disabling the trusted root store or running the Windows client in disconnected environments, ensure that all root CAs are included in the Trusted Root CA store and all sub CAs listed in this article are included in the Intermediate CA store.
  • Many distributions of Linux require you to add CAs to /etc/ssl/certs. Refer to the distribution’s documentation.
  • Ensure that the Java key store contains the CAs listed in this article. For more information, see the Java applications section of this article.
  • If your application explicitly specifies a list of acceptable CAs, check to see if you need to update the pinned certificates when CAs change or expire. For more information, see Certificate pinning.

Public key encryption and signature algorithms

Support for the following algorithms, elliptical curves, and key sizes are required:

Signature algorithms:

  • ES256
  • ES384
  • ES512
  • RS256
  • RS384
  • RS512

Elliptical curves:

  • P256
  • P384
  • P521

Key sizes:

  • ECDSA 256
  • ECDSA 384
  • ECDSA 521
  • RSA 2048
  • RSA 3072
  • RSA 4096

Certificate downloads and revocation lists

The following domains may need to be included in your firewall allowlists to optimize connectivity:

AIA:

  • cacerts.digicert.com
  • cacerts.digicert.cn
  • cacerts.geotrust.com
  • www.microsoft.com

CRL:

  • crl3.digicert.com
  • crl4.digicert.com
  • crl.digicert.cn
  • cdp.geotrust.com
  • www.microsoft.com

OCSP:

  • ocsp.digicert.com
  • ocsp.digicert.cn
  • oneocsp.microsoft.com
  • status.geotrust.com

Certificate Pinning

Certificate Pinning is a security technique where only authorized, or pinned, certificates are accepted when establishing a secure session. Any attempt to establish a secure session using a different certificate is rejected. Learn about the history and implications of certificate pinning.

How to address certificate pinning

If your application explicitly specifies a list of acceptable CAs, you may periodically need to update pinned certificates when Certificate Authorities change or expire.

To detect certificate pinning, we recommend the taking the following steps:

  • If you're an application developer, search your source code for references to certificate thumbprints, Subject Distinguished Names, Common Names, serial numbers, public keys, and other certificate properties of any of the Sub CAs involved in this change.
    • If there's a match, update the application to include the missing CAs.
  • If you have an application that integrates with Azure APIs or other Azure services and you're unsure if it uses certificate pinning, check with the application vendor.

Java Applications

To determine if the Microsoft ECC Root Certificate Authority 2017 and Microsoft RSA Root Certificate Authority 2017 root certificates are trusted by your Java application, you can check the list of trusted root certificates used by the Java Virtual Machine (JVM).

  1. Open a terminal window on your system.

  2. Run the following command:

    keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts
    
    • $JAVA_HOME refers to the path to the Java home directory.
    • If you're unsure of the path, you can find it by running the following command:
    readlink -f $(which java) | xargs dirname | xargs dirname
    
  3. Look for the Microsoft RSA Root Certificate Authority 2017 in the output. It should look something like this:

    • If the Microsoft ECC Root Certificate Authority 2017 and Microsoft RSA Root Certificate Authority 2017 root certificates are trusted, they should appear in the list of trusted root certificates used by the JVM.
    • If it's not in the list, you'll need to add it.
    • The output should look like the following sample:
        ...
        Microsoft ECC Root Certificate Authority 2017, 20-Aug-2022, Root CA,
        Microsoft RSA Root Certificate Authority 2017, 20-Aug-2022, Root CA,
        ...
    
  4. To add a root certificate to the trusted root certificate store in Java, you can use the keytool utility. The following example adds the Microsoft RSA Root Certificate Authority 2017 root certificate:

    keytool -import -file microsoft-ecc-root-ca.crt -alias microsoft-ecc-root-ca -keystore $JAVA_HOME/jre/lib/security/cacerts
    keytool -import -file microsoft-rsa-root-ca.crt -alias microsoft-rsa-root-ca -keystore $JAVA_HOME/jre/lib/security/cacerts
    

    Note

    In this example, microsoft-ecc-root-ca.crt and microsoft-rsa-root-ca.crt are the names of the files that contain the Microsoft ECC Root Certificate Authority 2017 and Microsoft RSA Root Certificate Authority 2017 root certificates, respectively.

Past changes

The CA/Browser Forum updated the Baseline Requirements to require all publicly trusted Public Key Infrastructures (PKIs) to end usage of the SHA-1 hash algorithms for Online Certificate Standard Protocol (OCSP) on May 31, 2022. Microsoft updated all remaining OCSP Responders that used the SHA-1 hash algorithm to use the SHA-256 hash algorithm. View the Sunset for SHA-1 OCSP signing article for additional information.

Microsoft updated Azure services to use TLS certificates from a different set of Root Certificate Authorities (CAs) on February 15, 2021, to comply with changes set forth by the CA/Browser Forum Baseline Requirements. Some services finalized these updates in 2022. View the Azure TLS certificate changes article for additional information.

Article change log

Next steps

To learn more about Certificate Authorities and PKI, see: