Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamaları PostgreSQL için Azure Veritabanı'na bağlarken, uygulama istemcisinin güvenilen kök sertifikaları yüklemesi gerekir. Aşağıdaki bölümler, PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanan uygulamalar için yaygın bir senaryo olan uygulamalar için güvenilen kök sertifikaları güncelleştirme konusunda size yol gösterir.
Önemli
11 Kasım 2025'den itibaren, aşağıdaki listede yer alan Azure bölgeleri, yeni ara CA sertifikaları kullanan bir TLS/SSL sertifika döndürmesi için planlanmaktadır.
- Orta Batı ABD
- Doğu Asya
- UK South
19 Ocak 2026'dan itibaren bu dönüşün, kalan tüm Azure bölgelerine, Azure Kamu ve diğer tüm bölgeler de dahil olmak üzere, genişletilmesi planlanıyor.
Sorun giderme hakkında bilgi için bkz. Sertifika sabitleme sorunları.
Sertifika sabitleme senaryoları için istemcideki Java Anahtar Deposu'nda Kök CA Sertifikalarını içeri aktarma
Özel yazılmış Java uygulamaları, güvenilen sertifika yetkilisi (CA) sertifikaları içeren adlı cacertsvarsayılan bir anahtar deposu kullanır. Genellikle Java güven deposu olarak da bilinir. adlı cacerts sertifika dosyası java.home\lib\security güvenlik özellikleri dizininde bulunur; burada java.home çalışma zamanı ortam dizinidir ( jre SDK'daki dizin veya Java™ 2 Çalışma Zamanı Ortamı'nın üst düzey dizini).
PostgreSQL ile istemci sertifikası sabitleme senaryoları için istemci kök CA sertifikalarını güncelleştirmek için aşağıdaki yönergeleri kullanabilirsiniz:
Java keystore'da gerekli sertifikaların zaten olup olmadığını denetleyin
cacerts. Aşağıdaki komutu kullanarak Java keystore'daki sertifikaları listeleyebilirsiniz:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtGerekli sertifikalar istemcideki java anahtar deposunda yoksa, çıkışta iade edilebileceği gibi aşağıdaki yol tarifleriyle devam etmelisiniz:
Özel anahtar deponuzun yedek kopyasını oluşturma.
Sertifikaları indirin ve başvurabileceğiniz yerel olarak kaydedin.
Gerekli tüm Kök CA sertifikaları dahil edilmiş bir birleşik CA sertifika deposu oluşturun. Aşağıdaki örnekte PostgreSQL JDBC kullanıcıları için DefaultJavaSSLFactory kullanımı gösterilmektedir.
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Özgün keystore dosyasını yeni oluşturulan dosyayla değiştirin:
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");Özgün kök CA pem dosyasını birleştirilmiş kök CA dosyasıyla değiştirin ve uygulamanızı/istemcinizi yeniden başlatın.
PostgreSQL JDBC sürücüsüyle istemci sertifikalarını yapılandırma hakkında daha fazla bilgi için bu belgelere bakın.
Uyarı
Sertifikaları istemci sertifika depolarına aktarmak için sertifika .crt dosyalarını .pem biçimine dönüştürmeniz gerekebilir. Bu dosya dönüştürmelerini yapmak için OpenSSL yardımcı programını kullanabilirsiniz.
Java Key Store'da program aracılığıyla güvenilen sertifikaların listesini alma
Varsayılan olarak, Java güvenilen sertifikaları istemcideki Java yükleme klasöründe bulunan adlı cacerts özel bir dosyada depolar.
Aşağıdaki örnek önce bunu okur cacerts ve KeyStore nesnesine yükler:
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;
}
için varsayılan parola cacerts şeklindedir changeit , ancak yöneticilerin Java yüklemesinin hemen ardından parolayı değiştirmelerini önerdiğinden gerçek istemcide farklı olmalıdır.
KeyStore nesnesini yükledikten sonra, mevcut sertifikaları okumak için PKIXParameters sınıfını kullanabiliriz.
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());
}
Sertifika sabitleme senaryoları için Azure App Services'te istemcileri kullanırken Kök CA sertifikalarını güncelleştirme
PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanan Azure Uygulama hizmetlerinde, istemci sertifikalarını güncelleştirmeyle ilgili iki olası senaryomuz olabilir ve bu, Azure App Services'e dağıtılan uygulamanızla SSL'yi nasıl kullandığınıza bağlıdır.
- PostgreSQL için Azure Veritabanı esnek sunucu örneğinizde değişiklikler gerçekleşmeden önce App Service'e platform düzeyinde yeni sertifikalar eklenir. Uygulamanızda App Service platformunda bulunan SSL sertifikalarını kullanıyorsanız herhangi bir işlem yapmanız gerekmez. Daha fazla bilgi için Azure App Service belgelerindeki Azure App Service'te TLS/SSL sertifikaları ekleme ve yönetme bölümüne bakın.
- Kodunuzda SSL sertifika dosyasının yolunu açıkça dahil ediyorsanız, yeni sertifikayı indirmeniz ve kullanmak için kodu güncelleştirmeniz gerekir. Bu senaryoya örnek olarak, Azure App Service belgelerindeki Öğretici: Azure App Service'te özel kapsayıcılar için sepet kapsayıcısı yapılandırma başlığı altında açıklandığı gibi App Service'te özel kapsayıcılar kullanmanız iyi bir örnektir.
Sertifika sabitleme senaryoları için Azure Kubernetes Service'te (AKS) istemcileri kullanırken Kök CA sertifikalarını güncelleştirme
Azure Kubernetes Services(AKS) içinde barındırılan uygulamaları kullanarak PostgreSQL için Azure Veritabanı'na bağlanmaya ve sertifikaları sabitlemeye çalışıyorsanız, ayrılmış bir müşterinin konak ortamından erişime benzer. Buradaki adımlara bakın.
Sertifika sabitleme senaryoları için Windows'da .NET (Npgsql) kullanıcıları için Kök CA sertifikalarını güncelleştirme
Windows'daki .NET (Npgsql) kullanıcıları için PostgreSQL için Azure Veritabanı esnek sunucu örneklerine bağlanırken üç Microsoft RSA Kök Sertifika Yetkilisi 2017, DigiCert Genel Kök G2 ve DigiCert Genel Kök CA'nın üçünün de Windows Sertifika Deposu, Güvenilen Kök Sertifika Yetkilileri'nde mevcut olduğundan emin olun. Herhangi bir sertifika yoksa, eksik sertifikayı içeri aktarın.
Sertifika sabitleme senaryoları için diğer istemciler için Kök CA sertifikalarını güncelleştirme
Diğer PostgreSQL istemci kullanıcıları için aşağıdaki biçimi kullanarak iki CA sertifika dosyasını birleştirebilirsiniz:
-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----