Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Po połączeniu aplikacji z Azure Database for PostgreSQL klient aplikacji musi zainstalować zaufane certyfikaty główne. W poniższych sekcjach opisano proces aktualizowania zaufanych certyfikatów głównych dla aplikacji. Ten proces jest typowym scenariuszem dla aplikacji łączących się z serwerem elastycznym Azure Database for PostgreSQL.
Ważne
Firma Microsoft zmienia certyfikaty TLS dla usługi Azure Database for PostgreSQL w celu zaktualizowania urzędu certyfikacji i wynikowego łańcucha certyfikatów.
Jeśli konfiguracja klienta używa zalecanych konfiguracji dla protokołu TLS, nie musisz podejmować działań.
Harmonogram rotacji certyfikatów pośrednich:
- Aktualizacje regionów Azure Zachodnio-Środkowe USA i Azja Wschodnia są zakończone.
- Aktualizacje dla regionów UK South i amerykańskich rządowych rozpoczynają się 21 stycznia 2026 r.
- Aktualizacje dla środkowych stanów USA rozpoczynają się 26 stycznia 2026 r.
- Aktualizacje dla wszystkich innych regionów rozpoczynają się 28 stycznia 2026 r.
Harmonogram rotacji certyfikatów głównych:
- Aktualizacje certyfikatów głównego urzędu certyfikacji z DigiCert Global Root CA (G1) do DigiCert Global Root G2 w regionach Chin rozpoczynają się 9 marca 2026 r.
Importowanie głównych certyfikatów CA do magazynu kluczy Java po stronie klienta na potrzeby pinningu certyfikatów
Własnoręcznie napisane aplikacje Java używają domyślnego magazynu kluczy o nazwie cacerts, który zawiera certyfikaty urzędów certyfikacji (CA). Jest również nazywany repozytorium zaufania Java. Plik certyfikatów o nazwie cacerts znajduje się w katalogu właściwości zabezpieczeń , java.home\lib\securitygdzie java.home jest katalog środowiska uruchomieniowego (jrekatalog w zestawie SDK lub katalog najwyższego poziomu środowiska uruchomieniowego Java ™ 2).
Aby zaktualizować certyfikaty głównego urzędu certyfikacji klienta dla scenariuszy przypinania certyfikatów klienta za pomocą bazy danych PostgreSQL, użyj następujących wskazówek:
cacertsSprawdź magazyn kluczy Java, aby sprawdzić, czy zawiera już wymagane certyfikaty. Certyfikaty można wyświetlić w magazynie kluczy Java przy użyciu następującego polecenia:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtJeśli wymagane certyfikaty nie są obecne w magazynie kluczy Java po stronie klienta, co można sprawdzić w danych wyjściowych, postępuj zgodnie z poniższymi instrukcjami:
Utwórz kopię zapasową niestandardowego magazynu kluczy.
Pobierz certyfikaty i zapisz je lokalnie, gdzie można się do nich odwoływać.
Wygeneruj połączony magazyn certyfikatów urzędu certyfikacji zawierający wszystkie wymagane certyfikaty głównego urzędu certyfikacji. W poniższym przykładzie pokazano, jak używać
DefaultJavaSSLFactorydla użytkowników sterownika PostgreSQL JDBC.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 -nopromptZastąp oryginalny plik keystore nowym wygenerowanym.
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");Zastąp oryginalny plik PEM głównego urzędu certyfikacji połączonym plikiem głównego urzędu certyfikacji i uruchom ponownie aplikację lub program kliencki.
Aby uzyskać więcej informacji na temat konfigurowania certyfikatów klienta za pomocą sterownika JDBC bazy danych PostgreSQL, zobacz tę dokumentację.
Uwaga / Notatka
Aby zaimportować certyfikaty do magazynów certyfikatów klienta, może być konieczne przekonwertowanie plików crt certyfikatu na format pem. Możesz użyć narzędzia OpenSSL, aby wykonać te konwersje plików.
Programowe uzyskiwanie listy zaufanych certyfikatów w Java KeyStore
Domyślnie język Java przechowuje zaufane certyfikaty w specjalnym pliku o nazwie cacerts , który znajduje się w folderze instalacyjnym Java na kliencie.
Poniższy przykład odczytuje cacerts i ładuje do obiektu KeyStore.
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;
}
Domyślne hasło dla cacerts to changeit, ale u rzeczywistego klienta powinno być inne, ponieważ administratorzy zalecają zmianę hasła natychmiast po instalacji Javy.
Po załadowaniu obiektu KeyStore użyj klasy PKIXParameters , aby odczytać obecne certyfikaty.
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());
}
Aktualizuj certyfikaty głównego urzędu certyfikacji (CA) podczas korzystania z aplikacji klienckich w usłudze aplikacja systemu Azure Service w scenariuszach pinowania certyfikatów
W przypadku usług aplikacja systemu Azure łączących się z serwerem elastycznym Azure Database for PostgreSQL istnieją dwa możliwe scenariusze aktualizacji certyfikatów klienta. To zależy od tego, jak używasz protokołu SSL z aplikacją wdrożoną w usłudze aplikacja systemu Azure Service.
- Platforma dodaje nowe certyfikaty do usługi App Service przed wprowadzeniem zmian na serwerze elastycznym Azure Database for PostgreSQL. Jeśli używasz certyfikatów SSL zawartych na platformie App Service w aplikacji, nie jest wymagana żadna akcja. Aby uzyskać więcej informacji, zobacz Dodawanie certyfikatów TLS/SSL i zarządzanie nimi w usłudze Azure App Service w dokumentacji usługi Azure App Service.
- Jeśli jawnie dołączasz ścieżkę do pliku certyfikatu SSL w kodzie, musisz pobrać nowy certyfikat i zaktualizować kod, aby go użyć. Dobrym przykładem tego scenariusza jest sytuacja, gdy używasz kontenerów niestandardowych w usłudze App Service, jak opisano w samouczku: Konfigurowanie kontenera pomocniczego dla kontenera niestandardowego w usłudze Azure App Service w dokumentacji usługi Azure App Service.
Aktualizowanie certyfikatów głównego urzędu certyfikacji podczas korzystania z klientów w Azure Kubernetes Service (AKS) w scenariuszach przypinania certyfikatów
Jeśli próbujesz nawiązać połączenie z usługą Azure Database for PostgreSQL przy użyciu aplikacji hostowanych w usłudze Azure Kubernetes Services (AKS) oraz przypinania certyfikatów, jest to podobne do dostępu z dedykowanego środowiska hosta klienta. Zapoznaj się z krokami tutaj.
Zaktualizować główne certyfikaty CA dla użytkowników .NET (Npgsql) w systemie Windows, w przypadku pinowania certyfikatów
Użytkownicy platformy .NET (Npgsql) w systemie Windows, którzy łączą się z serwerem Azure Database for PostgreSQL Flexible Server, powinni upewnić się, że wszystkie trzy certyfikaty: Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2 oraz DigiCert Global Root CA są obecne w magazynie certyfikatów systemu Windows, w folderze Zaufane główne urzędy certyfikacji. Jeśli jakiekolwiek certyfikaty nie istnieją, zaimportuj brakujący certyfikat.
Zaktualizować certyfikaty głównego CA dla innych klientów w scenariuszach pinningu certyfikatów
W przypadku użytkowników innych klientów PostgreSQL można połączyć dwa pliki certyfikatów CA przy użyciu następującego formatu:
-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----