Alkalmazás-ügyféltanúsítványok frissítése Azure Database for PostgreSQL rugalmas kiszolgálón

Amikor alkalmazásokat csatlakoztat az Azure Database for PostgreSQL-hez, az ügyfélalkalmazásnak megbízható gyökértanúsítványokat kell telepítenie. Az alábbi szakaszok végigvezetik az alkalmazások megbízható főtanúsítványainak frissítésén. Ez a folyamat gyakori forgatókönyv a rugalmas Azure Database for PostgreSQL kiszolgálóhoz csatlakozó alkalmazások esetében.

Fontos

A Microsoft TLS-tanúsítványokat forgat az Azure Database for PostgreSQL-hez a hitelesítésszolgáltató és az eredményként kapott tanúsítványlánc frissítéséhez.

Ha az ügyfélkonfiguráció a TLS-hez ajánlott konfigurációkat használja, nem kell műveletet elvégeznie.

Köztes tanúsítvány rotálási ütemezése:

  • Az USA nyugati középső régiójának és Kelet-Ázsia Azure-régióinak frissítései befejeződtek.
  • 2026. január 21-én kezdődnek az Egyesült Királyság déli és usa-beli kormányzati régióinak frissítései.
  • Az USA középső régiójának frissítései 2026. január 26-án kezdődnek.
  • Az összes többi régió frissítései 2026. január 28-án kezdődnek.

Főtanúsítvány-rotálás ütemezése:

  • 2026. március 9-től Kína régióiban a frissítések a DigiCert Global Root CA (G1) tanúsítványokról a DigiCert Global Root G2 tanúsítványokra történnek.

Legfelső szintű hitelesítésszolgáltatói tanúsítványok importálása a Java kulcstárolóba az ügyféloldalon tanúsítványrögzítési esetekben

Az egyénileg írt Java-alkalmazások egy alapértelmezett, úgynevezett cacertskulcstárat használnak, amely megbízható hitelesítésszolgáltatói (CA-) tanúsítványokat tartalmaz. Gyakran is Java megbízhatósági tárolónak nevezik. A névvel ellátott cacerts tanúsítványfájl a biztonsági tulajdonságok könyvtárában található, java.home\lib\securityahol java.home a futtatókörnyezet könyvtára (az jre SDK könyvtára vagy a Java ™ 2 futtatókörnyezet felső szintű könyvtára). Az alábbi utasítások alapján frissítse az ügyféltanúsítványok rögzítési forgatókönyveihez szükséges ügyfél root CA tanúsítványokat a PostgreSQL esetében:

  1. Ellenőrizze a cacerts Java keystore-t, hogy tartalmazza-e már a szükséges tanúsítványokat. A Java keystore-ban a következő paranccsal listázhatja a tanúsítványokat:

      keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txt
    

    Ha a szükséges tanúsítványok nem találhatók meg az ügyféloldali Java-kulcstárolóban, amint az a kimenetben ellenőrizhető, kövesse az alábbi utasításokat:

  2. Készítsen biztonsági másolatot az egyéni kulcstárról.

  3. Töltse le a tanúsítványokat, és mentse őket helyileg, ahol hivatkozhat rájuk.

  4. Hozzon létre egy összevont hitelesítésszolgáltatói tanúsítványtárolót, amely tartalmazza az összes szükséges legfelső szintű hitelesítésszolgáltatói tanúsítványt. Az alábbi példa bemutatja a DefaultJavaSSLFactory használatát PostgreSQL JDBC-felhasználók számára.

        keytool -importcert -alias PostgreSQLServerCACert  -file D:\ DigiCertGlobalRootG2.crt.pem   -keystore truststore -storepass password -noprompt
    
        keytool -importcert -alias PostgreSQLServerCACert2  -file "D:\ Microsoft ECC Root Certificate Authority 2017.crt.pem" -keystore truststore -storepass password  -noprompt
    
        keytool -importcert -alias PostgreSQLServerCACert  -file D:\ DigiCertGlobalRootCA.crt.pem   -keystore truststore -storepass password -noprompt
    
  5. Cserélje le az eredeti keystore-fájlt az új létrehozott fájlra:

    System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file");
    System.setProperty("javax.net.ssl.trustStorePassword","password");
    
  6. Cserélje le az eredeti gyökér hitelesítésszolgáltató PEM-fájlját a kombinált gyökér hitelesítésszolgáltatói fájlra, majd indítsa újra az alkalmazást vagy a klienst.

    Az ügyféltanúsítványok PostgreSQL JDBC-illesztővel való konfigurálásáról további információt ebben a dokumentációban talál.

    Megjegyzés:

    Ha tanúsítványokat szeretne importálni az ügyféltanúsítvány-tárolókba, előfordulhat, hogy a tanúsítvány .crt fájljait .pem formátumba kell konvertálnia. Az OpenSSL segédprogrammal elvégezheti ezeket a fájlkonverziókat.

Megbízható tanúsítványok listájának lekérése a Java Key Store-ban programozott módon

Alapértelmezés szerint a Java egy speciális fájlban cacerts tárolja a megbízható tanúsítványokat, amely az ügyfél Java telepítési mappájában található. Az alábbi példa beolvassa és betölti cacerts egy KeyStore-objektumba :

private KeyStore loadKeyStore() {
    String relativeCacertsPath = "/lib/security/cacerts".replace("/", File.separator);
    String filename = System.getProperty("java.home") + relativeCacertsPath;
    FileInputStream is = new FileInputStream(filename);
    KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
    String password = "changeit";
    keystore.load(is, password.toCharArray());

    return keystore;
}

Az alapértelmezett jelszó cacerts az changeit, de egy valódi ügyfél esetében másnak kell lennie, mivel a rendszergazdák azt javasolják, hogy Java telepítés után azonnal módosítsa a jelszót. A KeyStore-objektum betöltése után a PKIXParameters osztály használatával olvassa be a jelen lévő tanúsítványokat.

public void whenLoadingCacertsKeyStore_thenCertificatesArePresent() {
    KeyStore keyStore = loadKeyStore();
    PKIXParameters params = new PKIXParameters(keyStore);
    Set<TrustAnchor> trustAnchors = params.getTrustAnchors();
    List<Certificate> certificates = trustAnchors.stream()
      .map(TrustAnchor::getTrustedCert)
      .collect(Collectors.toList());

    assertFalse(certificates.isEmpty());
}

Fő hitelesítésszolgáltatói tanúsítványok frissítése az ügyfelek Azure-alkalmazás-szolgáltatásokban való használatakor a tanúsítvány rögzítési forgatókönyveihez

Az Azure Database for PostgreSQL rugalmas kiszolgálóhoz csatlakozó Azure-alkalmazás-szolgáltatások esetében két lehetséges forgatókönyv létezik az ügyféltanúsítványok frissítésére. A forgatókönyv attól függ, hogyan használja az SSL-t a Azure-alkalmazás Servicesben üzembe helyezett alkalmazással.

  • A platform új tanúsítványokat ad hozzá az App Service-hez, mielőtt módosításokat hajt végre a Azure Database for PostgreSQL rugalmas kiszolgálón. Ha az App Service-platformon található SSL-tanúsítványokat használja az alkalmazásban, nincs szükség műveletre. További információ: TLS/SSL-tanúsítványok hozzáadása és kezelése az Azure App Service-ben az Azure App Service dokumentációjában.
  • Ha kifejezetten bele van adva az SSL-tanúsítványfájl elérési útja a kódba, le kell töltenie az új tanúsítványt, és frissítenie kell a kódot a használatához. Erre a forgatókönyvre jó példa, ha egyéni tárolókat használ az App Service-ben, az Azure App Service dokumentációjában található Oktatóanyag: Sidecar-tároló konfigurálása egyéni tárolóhoz az Azure App Service-ben című oktatóanyagban leírtak szerint.

A legfelső szintű hitelesítésszolgáltatói tanúsítványok frissítése az Azure Kubernetes Service-ben (AKS) használt ügyfélalkalmazások esetén, tanúsítványrögzítési forgatókönyvekhez

Ha az Azure Database for PostgreSQL-hez az Azure Kubernetes Servicesben (AKS) üzemeltetett alkalmazásokkal és a tanúsítványok rögzítésével próbál csatlakozni, az hasonló a dedikált ügyfél gazdagépkörnyezetéből való hozzáféréshez. Tekintse meg az itt leírt lépéseket.

Az .NET (Npgsql) felhasználók fő hitelesítésszolgáltatói tanúsítványainak frissítése a Windows tanúsítványrögzítési forgatókönyveihez

A Windowson Azure Database for PostgreSQL rugalmas kiszolgálóhoz csatlakozó .NET (Npgsql) felhasználók esetében győződjön meg arról, hogy mindhárom tanúsítvány — Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2 és DigiCert Global Root CA — megtalálható a Windows tanúsítványtárolójának Megbízható legfelső szintű hitelesítésszolgáltatók tárolójában. Ha nem léteznek tanúsítványok, importálja a hiányzó tanúsítványt.

Frissítse a legfelső szintű hitelesítésszolgáltatói tanúsítványokat más kliensekhez, tanúsítványrögzítési esetekhez

Más PostgreSQL-ügyfélfelhasználók esetében két hitelesítésszolgáltatói tanúsítványfájlt egyesíthet az alábbi formátum használatával:

-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----