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 Veri Tabanı bağladığınızda, uygulama istemcisinin güvenilen kök sertifikaları yüklemesi gerekir. Aşağıdaki bölümler, uygulamalar için güvenilen kök sertifikalarını güncelleştirme konusunda size yol gösterir. Bu işlem, PostgreSQL için Azure Veri Tabanı esnek sunucuya bağlanan uygulamalar için yaygın bir senaryodur.
Önemli
Microsoft, Sertifika Yetkilisi'ni ve sonuçta elde edilen sertifika zincirini güncelleştirmek için PostgreSQL için Azure Veritabanı'na yönelik TLS sertifikalarını döndürmektedir .
İstemci yapılandırmanız TLS için önerilen yapılandırmaları kullanıyorsa, işlem yapmanız gerekmez.
Ara sertifika döndürme zamanlaması:
- Orta Batı ABD ve Doğu Asya Azure bölgeleri için güncelleştirmeler tamamlanmaktadır.
- Birleşik Krallık Güney ve ABD Kamu bölgeleri için güncelleştirmeler 21 Ocak 2026'da başlar.
- Orta ABD güncelleştirmeleri 26 Ocak 2026'da başlar.
- Diğer tüm bölgeler için güncelleştirmeler 28 Ocak 2026'da başlar.
Kök sertifika yenileme zamanlaması:
- DigiCert Genel Kök CA'sından (G1) Çin bölgelerindeki DigiCert Genel Kök G2'ye kök CA sertifikaları için güncelleştirmeler 9 Mart 2026'da başlar.
Sertifika sabitleme senaryoları için istemcideki Java anahtar deposunda 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 bir sertifika dosyası, java.home\lib\securitygüvenlik özellikleri dizininde bulunur; burada java.home çalışma zamanı ortamı dizinidir (jreSDK'daki dizin veya Java ™ 2 Çalışma Zamanı Ortamının üst düzey dizini).
PostgreSQL ile istemci sertifikası sabitleme senaryolarına yönelik istemci kök CA sertifikalarını güncelleştirmek için aşağıdaki yönergeleri kullanın:
cacertsZaten gerekli sertifikaları içerip içermediğini görmek için Java anahtar deposuna bakın. Aşağıdaki komutu kullanarak Java anahtar deposundaki sertifikaları listeleyebilirsiniz:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtGerekli sertifikalar istemcideki Java anahtar deposunda yoksa, bunu çıktıda kontrol edebileceğiniz gibi, aşağıdaki yönergeleri izleyin:
Özel anahtar deponuzun yedek kopyasını oluşturma.
Sertifikaları indirin ve erişebileceğiniz bir yere yerel olarak kaydedin.
Tüm gerekli kök CA sertifikalarını içeren birleşik bir CA sertifika deposu oluşturun. Aşağıdaki örnekte PostgreSQL JDBC kullanıcıları için kullanımı
DefaultJavaSSLFactorygö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ı veya 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ünün içinde bulunan adlı cacerts özel bir dosyada depolar.
Aşağıdaki örnek bunu okur cacerts ve bir 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 şeklindedirchangeit, ancak yöneticiler Java yüklemeden hemen sonra parolanın değiştirilmesini önerdiğinden gerçek istemcide farklı olmalıdır.
KeyStore nesnesini yükledikten sonra, mevcut sertifikaları okumak için PKIXParameters sınıfını kullanın.
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 Uygulaması Hizmetleri'nde istemcileri kullanırken kök CA sertifikalarını güncelleştirme
PostgreSQL için Azure Veri Tabanı esnek bir sunucuya bağlanan Azure Uygulaması Hizmetleri için, istemci sertifikalarını güncelleştirmek için iki olası senaryo vardır. Senaryo, Azure Uygulaması Hizmetlerine dağıtılan uygulamanızla SSL'yi nasıl kullandığınıza bağlıdır.
- Platform, PostgreSQL için Azure Veri Tabanı esnek sunucunuzda değişiklikler gerçekleşmeden önce App Service'e yeni sertifikalar ekler. 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 kodu kullanacak şekilde güncelleştirmeniz gerekir. Bu senaryoya iyi bir örnek, Azure App Service belgelerinde açıklandığı gibi, App Service'te özel kapsayıcılar kullandığınız durumlardır; bkz. Öğretici: Azure App Service'te özel kapsayıcı için yardımcı kapsayıcı yapılandırma.
sertifika sabitleme senaryoları için Azure Kubernetes Service (AKS) istemcilerini 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 ve sertifikaları kullanarak bağlanmaya çalışıyorsanız, bu durum özel bir müşteri ana bilgisayar 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 üzerinde PostgreSQL için Azure Veri Tabanı esnek sunucusuna bağlanan .NET (Npgsql) kullanıcıları için, Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2 ve DigiCert Global Root CA sertifikalarının üçünün de Windows Sertifika Deposu’ndaki Güvenilen Kök Sertifika Yetkilileri bölümünde bulunduğ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-----