Megosztás a következőn keresztül:


Alkalmazás-ügyféltanúsítványok frissítése

Amikor alkalmazásokat csatlakoztat az Azure Database for PostgreSQL-hez, az alkalmazásügyfélnek megbízható főtanú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, ami gyakori forgatókönyv a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz csatlakozó alkalmazások esetében.

Fontos

2025. november 11-től a következő listában szereplő Azure-régiókat új köztes hitelesítésszolgáltatói tanúsítványokat használó TLS-/SSL-tanúsítványváltásra tervezik.

  • USA nyugati középső régiója
  • Kelet-Ázsia
  • Egyesült Királyság déli régiója

2026. január 19-től ez a rotáció az összes fennmaradó Azure-régióra kiterjed, beleértve az Azure Governmentt és az összes többi régiót is.

A hibaelhárítással kapcsolatos információkért tekintse meg a tanúsítvány rögzítésével kapcsolatos problémákat.

Fő hitelesítésszolgáltatói tanúsítványok importálása a Java Key Store-ban az ügyfélen a tanúsítvány rögzítési forgatókönyveihez

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. Java megbízhatósági tárolónak is nevezik. A tanúsítványfájl neve cacerts a java.home\lib\security biztonsági tulajdonságkönyvtárban található, ahol a java.home a futtatókörnyezet könyvtára (az jre SDK könyvtára vagy a Java™ 2 Futtatókörnyezet legfelső szintű könyvtára). Az alábbi útmutatásokkal frissítheti az ügyféltanúsítványok legfelső szintű hitelesítésszolgáltatói tanúsítványait az ügyféltanúsítvány-rögzítési forgatókönyvekhez a PostgreSQL-lel:

  1. Ellenőrizze cacerts a Java keystore-t, hogy tartalmazza-e már a szükséges tanúsítványokat. A Java-kulcstárban 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 szerepelnek az ügyfél Java-kulcstárolójában, ahogyan az a kimenetben is be van jelölve, a következő utasításokat kell követnie:

  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 a DefaultJavaSSLFactory használatát mutatja be a 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 legfelső szintű hitelesítésszolgáltatói pem-fájlt az egyesített legfelső szintű hitelesítésszolgáltatói fájlra, és indítsa újra az alkalmazást/ügyfelet.

    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 először beolvassa és betölti cacerts a 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ó az cacertschangeit , de a valódi ügyfélen eltérőnek kell lennie, mivel a rendszergazdák azt javasolják, hogy a Java telepítése után azonnal módosítsa a jelszót. Miután betöltöttük a KeyStore objektumot, a PKIXParameters osztály használatával olvashatjuk 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 ügyfelek azure App Servicesben való használata esetén a tanúsítvány rögzítési forgatókönyveihez

Az Azure App Services esetében, amikor rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz csatlakozik, két lehetséges forgatókönyvünk lehet az ügyféltanúsítványok frissítésére, és ez attól függ, hogyan használja az SSL-t az Azure App Servicesben üzembe helyezett alkalmazással.

Legfelső szintű hitelesítésszolgáltatói tanúsítványok frissítése ügyfelek azure Kubernetes Service-ben (AKS) való használatakor a tanúsítvány-rö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.

A windowsos .NET-felhasználók fő hitelesítésszolgáltatói tanúsítványainak frissítése a tanúsítvány rögzítési forgatókönyveihez

A Windows .NET (Npgsql) felhasználói számára, amelyek rugalmas Azure Database for PostgreSQL-kiszolgálópéldányokhoz csatlakoznak, győződjön meg arról, hogy mindhárom Microsoft RSA főtanúsítvány-szolgáltató 2017, a DigiCert Global Root G2 és a Digicert Global Root CA mind a Windows Tanúsítványtárolóban, a megbízható legfelső szintű hitelesítésszolgáltatókban található. Ha nem léteznek tanúsítványok, importálja a hiányzó tanúsítványt.

Fő hitelesítésszolgáltatói tanúsítványok frissítése más ügyfelekhez a tanúsítvány rögzítési forgatókönyveihez

Más PostgreSQL-ügyfélfelhasználók esetében két hitelesítésszolgáltatói tanúsítványfájlt egyesíthet a következő formátumban:

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