Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Anwendungen mit Azure Database for PostgreSQL verbinden, muss der Anwendungsclient vertrauenswürdige Stammzertifikate installieren. Die folgenden Abschnitte führen Sie durch das Aktualisieren der vertrauenswürdigen Stammzertifikate für Anwendungen. Dieser Prozess ist ein gängiges Szenario für Anwendungen, die eine Verbindung mit einem Azure Database for PostgreSQL flexiblen Server herstellen.
Von Bedeutung
Microsoft tauscht TLS-Zertifikate der Azure Database for PostgreSQL aus, um die Zertifizierungsstelle und die resultierende Zertifikatkette zu aktualisieren.
Wenn Ihre Clientkonfiguration die empfohlenen Konfigurationen für TLS verwendet, müssen Sie keine Maßnahmen ergreifen.
Rotationszeitplan für Zwischenzertifikate:
- Updates für Azure-Regionen West Central US und Ostasien sind abgeschlossen.
- Updates für die Regionen UK South und US Government beginnen am 21. Januar 2026.
- Updates für Central US beginnen am 26. Januar 2026.
- Updates für alle anderen Regionen beginnen am 28. Januar 2026.
Rotationszeitplan für Stammzertifikate:
- Updates für Stammzertifikate von DigiCert Global Root CA (G1) auf DigiCert Global Root G2 in den chinesischen Regionen beginnen am 9. März 2026.
Importieren von Root-CA-Zertifikaten in den Java-Keystore im Client für Zertifikats-Pinning-Szenarien
Benutzerdefinierte Java-Anwendungen verwenden einen Standard-Keystore namens cacerts, der vertrauenswürdige Zertifizierungsstellenzertifikate(ZS-Zertifikate) enthält. Es wird auch häufig als Java-Vertrauensspeicher bezeichnet. Eine Zertifikatdatei mit dem Namen cacerts befindet sich im Verzeichnis der Sicherheitseigenschaften, java.home\lib\securitywobei java.home es sich um das Laufzeitumgebungsverzeichnis (das jre Verzeichnis im SDK oder das Verzeichnis der obersten Ebene der Java ™ 2-Laufzeitumgebung) handelt.
Um Client-Stamm-Zertifizierungsstellenzertifikate für Client-Zertifikat-Anheft-Szenarien mit PostgreSQL zu aktualisieren, gehen Sie wie folgt vor:
Überprüfen Sie den
cacertsJava Keystore, um festzustellen, ob er bereits erforderliche Zertifikate enthält. Sie können Zertifikate im Java Keystore auflisten, indem Sie den folgenden Befehl verwenden:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtWenn die erforderlichen Zertifikate im Java-Schlüsselspeicher auf dem Client nicht vorhanden sind, wie Sie in der Ausgabe überprüfen können, gehen Sie wie folgt vor:
Erstellen Sie eine Sicherungskopie Ihres benutzerdefinierten Keystores.
Laden Sie Zertifikate herunter und speichern Sie diese lokal, wo Sie darauf verweisen können.
Erzeugen Sie einen kombinierten Zertifizierungsstellen-Zertifikatspeicher, der alle benötigten Stamm-Zertifizierungsstellen-Zertifikate enthält. Das folgende Beispiel zeigt die Verwendung von
DefaultJavaSSLFactoryfür PostgreSQL-JDBC-Benutzer.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 -nopromptErsetzen Sie die ursprüngliche Keystore-Datei durch die neu generierte Datei:
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");Ersetzen Sie die ursprüngliche Stammzertifizierungsstelle-PEM-Datei durch die kombinierte Stammzertifizierungsstelle-Datei, und starten Sie Die Anwendung oder den Client neu.
Weitere Informationen zum Konfigurieren von Clientzertifikaten mit dem PostgreSQL-JDBC-Treiber finden Sie in dieser Dokumentation.
Hinweis
Um Zertifikate in Clientzertifikatspeicher zu importieren, müssen Sie möglicherweise CRT-Dateien für Zertifikate in das PEM-Format konvertieren. Sie können OpenSSL-Hilfsprogramm verwenden, um diese Dateikonvertierungen durchzuführen.
Programmgesteuertes Abrufen einer Liste vertrauenswürdiger Zertifikate im Java-Keystore
Standardmäßig speichert Java die vertrauenswürdigen Zertifikate in einer speziellen Datei, cacerts die sich im Java-Installationsordner auf dem Client befindet.
Im folgenden Beispiel wird cacerts in ein KeyStore-Objekt eingelesen und geladen:
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;
}
Das Standardkennwort lautet cacertschangeit, sollte sich jedoch auf einem echten Client unterscheiden, da Administratoren empfehlen, das Kennwort unmittelbar nach Java Installation zu ändern.
Nachdem Sie das KeyStore-Objekt geladen haben, verwenden Sie die PKIXParameters-Klasse , um die vorhandenen Zertifikate zu lesen.
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());
}
Root-CA-Zertifikate bei der Verwendung von Clients in Azure-App Services für Zertifikat-Pinning-Szenarien aktualisieren
Für Azure-App Services, die eine Verbindung mit einem Azure Database for PostgreSQL flexiblen Server herstellen, gibt es zwei mögliche Szenarien zum Aktualisieren von Clientzertifikaten. Das Szenario hängt davon ab, wie Sie SSL mit Ihrer Anwendung verwenden, die für Azure-App Services bereitgestellt wurde.
- Die Plattform fügt dem App-Dienst neue Zertifikate hinzu, bevor Änderungen in Ihrem Azure Database for PostgreSQL flexiblen Server auftreten. Wenn Sie die SSL-Zertifikate verwenden, die in der App Service-Plattform in Ihrer Anwendung enthalten sind, ist keine Aktion erforderlich. Weitere Informationen finden Sie unter Hinzufügen und Verwalten von TLS/SSL-Zertifikaten in Azure App Service in der Dokumentation zu Azure App Service.
- Wenn Sie explizit den Pfad zur SSL-Zertifikatdatei in Ihren Code einschließen, müssen Sie das neue Zertifikat herunterladen und den Code so aktualisieren, dass er verwendet wird. Ein gutes Beispiel für dieses Szenario ist die Verwendung von benutzerdefinierten Containern in App Service, wie im Lernprogramm beschrieben: Konfigurieren eines Sidecar-Containers für benutzerdefinierte Container in Azure App Service in der Azure App Service Dokumentation.
Aktualisieren von Stammzertifizierungsstellenzertifikaten bei Verwendung von Clients in Azure Kubernetes Service (AKS) für Szenarien zum Anheften von Zertifikaten
Wenn Sie versuchen, mithilfe von in Azure Kubernetes Service (AKS) gehosteten Anwendungen eine Verbindung mit Azure Database for PostgreSQL herzustellen, ähnelt dies dem Zugriff über eine dedizierte Kundenhostumgebung. Die entsprechenden Schritte finden Sie hier.
Aktualisieren Sie Root-CA-Zertifikate für .NET-Benutzer (Npgsql) unter Windows für Certificate-Pinning-Szenarien
Für .NET- (Npgsql-)Benutzer unter Windows, die eine Verbindung mit Azure Database for PostgreSQL Flexible Server herstellen, stellen Sie sicher, dass alle drei Zertifikate – Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2 und DigiCert Global Root CA – im Windows-Zertifikatspeicher unter „Vertrauenswürdige Stammzertifizierungsstellen“ vorhanden sind. Ist eines der Zertifikate nicht vorhanden, importieren Sie das fehlende Zertifikat.
Aktualisieren von Stamm-Zertifizierungsstellenzertifikaten für andere Clients für Szenarien zum Anheften von Zertifikaten
Für andere PostgreSQL-Clientbenutzer können Sie zwei Zertifizierungsstellenzertifikatdateien mit dem folgenden Format zusammenführen:
-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----