Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u toepassingen verbindt met Azure Database for PostgreSQL, moet de toepassingsclient vertrouwde basiscertificaten installeren. De volgende secties helpen u bij het bijwerken van de vertrouwde basiscertificaten voor toepassingen. Dit is een veelvoorkomend scenario voor toepassingen die verbinding maken met een flexibele serverinstantie van Azure Database for PostgreSQL.
Belangrijk
Vanaf 19 januari 2026 en hoger zijn Azure-regio's gepland voor een TLS/SSL-certificaatrotatie met nieuwe tussenliggende CA-certificaten.
Vanaf november 2025 zijn deze regio's gepland voor een TLS/SSL-certificaatrotatie met nieuwe tussenliggende CA-certificaten
- West-Centraal VS
 - Oost-Azië
 - UK South
 
Zie Problemen met het vastmaken van certificaten voor informatie over het oplossen van problemen.
Basis-CA-certificaten importeren in Java Key Store op de client voor scenario's voor het vastmaken van certificaten
Aangepaste Java-toepassingen maken gebruik van een standaardsleutelarchief, genaamd cacerts, dat vertrouwde ca-certificaten (certificate authority) bevat. Het wordt ook wel Java Trust Store genoemd. Een certificaatbestand met de naam cacerts bevindt zich in de map met beveiligingseigenschappen, java.home\lib\security, waarbij java.home de map van de runtimeomgeving is (de jre map in de SDK of de map op het hoogste niveau van de Java™ 2 Runtime-omgeving).
U kunt de volgende aanwijzingen gebruiken om client-root-CA-certificaten bij te werken voor scenario's met clientcertificaat-verankering met PostgreSQL:
Controleer
cacertsjava-sleutelarchief om te zien of deze al vereiste certificaten bevat. U kunt certificaten in java-sleutelarchief weergeven met behulp van de volgende opdracht:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtAls de benodigde certificaten niet aanwezig zijn in het Java-sleutelarchief op de client, zoals kan worden ingecheckt in de uitvoer, moet u doorgaan met de volgende instructies:
Maak een back-up van uw aangepaste sleutelarchief.
Download certificaten en sla ze lokaal op waar u ernaar kunt verwijzen.
Genereer een gecombineerd CA-certificaatarchief met alle benodigde basis-CA-certificaten. Hieronder ziet u hoe u DefaultJavaSSLFactory gebruikt voor PostgreSQL JDBC-gebruikers.
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 -nopromptVervang het oorspronkelijke sleutelarchiefbestand door het nieuwe gegenereerde bestand:
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");Vervang het oorspronkelijke BASIS-CA-pem-bestand door het gecombineerde basis-CA-bestand en start de toepassing/client opnieuw op.
Raadpleeg deze documentatie voor meer informatie over het configureren van clientcertificaten met postgreSQL JDBC-stuurprogramma.
Opmerking
Als u certificaten wilt importeren in clientcertificaatarchieven, moet u certificaat .crt-bestanden mogelijk converteren naar PEM-indeling. U kunt het hulpprogramma OpenSSL gebruiken om deze bestandsconversies uit te voeren.
Programmatisch een lijst met vertrouwde certificaten ophalen in Java Key Store
In Java worden de vertrouwde certificaten standaard opgeslagen in een speciaal bestand met de naam cacerts dat zich in de java-installatiemap op de client bevindt.
Voorbeeld hieronder leest en laadt cacerts het in KeyStore-object :
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;
}
Het standaardwachtwoord cacerts is changeit , maar moet afwijken op echte client, omdat beheerders het wijzigen van het wachtwoord onmiddellijk na de installatie van Java aanbevelen.
Zodra we het KeyStore-object hebben geladen, kunnen we de PKIXParameters-klasse gebruiken om certificaten te lezen die aanwezig zijn.
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());
}
Basis-CA-certificaten bijwerken bij het gebruik van clients in Azure App Services voor scenario's voor het vastmaken van certificaten
Voor Azure App-services en het verbinden met een Azure Database voor een PostgreSQL flexibele serverinstantie, kunnen we twee mogelijke scenario's hebben voor het bijwerken van clientcertificaten. Het hangt af van hoe u SSL gebruikt met uw toepassing die is geïmplementeerd in Azure App-services.
- Nieuwe certificaten worden op platformniveau aan App Service toegevoegd voordat er wijzigingen optreden in uw flexibele serverinstanties van Azure Database for PostgreSQL. Als u de SSL-certificaten gebruikt die zijn opgenomen in het App Service-platform in uw toepassing, hoeft u niets te doen. Zie TLS/SSL-certificaten toevoegen en beheren in Azure App Service in de Documentatie van Azure App Service voor meer informatie.
 - Als u expliciet het pad naar het SSL-certificaatbestand in uw code opgeeft, moet u het nieuwe certificaat downloaden en de code bijwerken om het te gebruiken. Een goed voorbeeld van dit scenario is wanneer u aangepaste containers in App Service gebruikt, zoals beschreven in de zelfstudie: Een sidecarcontainer configureren voor een aangepaste container in Azure App Service, in de Documentatie van Azure App Service.
 
Basis-CA-certificaten bijwerken bij het gebruik van clients in Azure Kubernetes Service (AKS) voor scenario's voor het vastmaken van certificaten
Als u verbinding probeert te maken met Azure Database for PostgreSQL met behulp van toepassingen die worden gehost in Azure Kubernetes Services (AKS) en certificaten vastmaken, is dit vergelijkbaar met toegang vanuit de hostomgeving van een toegewezen klant. Raadpleeg de stappen hier.
Basis-CA-certificaten voor .NET-gebruikers (Npgsql) in Windows bijwerken voor scenario's voor het vastmaken van certificaten
Voor .NET-gebruikers (Npgsql) op Windows die verbinding maken met Azure Database for PostgreSQL flexibele serverexemplaren, zorg ervoor dat alle drie de certificaten: Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2 en DigiCert Global Root CA, aanwezig zijn in het Windows-certificaatarchief onder vertrouwde basiscertificeringsinstanties. Als er geen certificaten bestaan, importeert u het ontbrekende certificaat.
Basis-CA-certificaten voor andere clients bijwerken voor scenario's voor het vastmaken van certificaten
Voor andere PostgreSQL-clientgebruikers kunt u twee CA-certificaatbestanden samenvoegen met behulp van de volgende indeling:
-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----