Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda menghubungkan aplikasi ke Azure Database for PostgreSQL, klien aplikasi harus menginstal sertifikat akar tepercaya. Bagian berikut memandu Anda memperbarui sertifikat akar tepercaya untuk aplikasi. Proses ini adalah skenario umum untuk aplikasi yang terhubung ke server fleksibel Azure Database for PostgreSQL.
Penting
Microsoft memutar sertifikat TLS untuk Azure Database for PostgreSQL untuk memperbarui Otoritas Sertifikat dan rantai sertifikat yang dihasilkan.
Jika konfigurasi klien Anda menggunakan konfigurasi yang Direkomendasikan untuk TLS, Anda tidak perlu mengambil tindakan.
Jadwal rotasi sertifikat menengah:
- Pembaruan untuk wilayah Azure US Tengah Barat dan Asia Timur selesai.
- Pembaruan untuk wilayah Pemerintah Inggris Selatan dan AS dimulai pada 21 Januari 2026.
- Pembaruan untuk AS Tengah dimulai pada 26 Januari 2026.
- Pembaruan untuk semua wilayah lain dimulai pada 28 Januari 2026.
Jadwal rotasi sertifikat akar:
- Pembaruan untuk sertifikat akar CA dari DigiCert Global Root CA (G1) ke DigiCert Global Root G2 di wilayah Tiongkok dimulai pada 9 Maret 2026.
Impor sertifikat CA root ke keystore Java di sisi klien untuk skenario pinning sertifikat
Aplikasi Java yang ditulis khusus menggunakan keystore default, yang disebut cacerts, yang berisi sertifikat otoritas sertifikat (CA) tepercaya. Ini juga sering dikenal sebagai penyimpanan sertifikat Java. File sertifikat bernama cacerts berada di direktori properti keamanan, java.home\lib\security, di mana java.home adalah direktori lingkungan runtime (jredirektori di SDK atau direktori tingkat atas Java ™ 2 Runtime Environment).
Untuk memperbarui sertifikat root CA klien untuk skenario pengikatan sertifikat klien dengan PostgreSQL, gunakan petunjuk di bawah ini:
Periksa keystore
cacertsJava untuk melihat apakah sudah berisi sertifikat yang diperlukan. Anda dapat mencantumkan sertifikat di keystore Java dengan menggunakan perintah berikut:keytool -list -v -keystore ..\lib\security\cacerts > outputfile.txtJika sertifikat yang diperlukan tidak ada di penyimpanan kunci Java pada klien, karena Anda dapat memeriksa output, lanjutkan dengan petunjuk berikut:
Buat salinan cadangan keystore kustom Anda.
Unduh sertifikat, dan simpan secara lokal tempat Anda dapat mereferensikannya.
Buat penyimpanan sertifikat CA gabungan yang mencakup semua sertifikat OS akar yang diperlukan. Contoh berikut menunjukkan penggunaan
DefaultJavaSSLFactoryuntuk pengguna 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 -nopromptGanti file keystore asli dengan yang baru dibuat:
System.setProperty("javax.net.ssl.trustStore","path_to_truststore_file"); System.setProperty("javax.net.ssl.trustStorePassword","password");Ganti file OS PEM akar asli dengan file CA akar gabungan dan mulai ulang aplikasi atau klien Anda.
Untuk informasi selengkapnya tentang mengonfigurasi sertifikat klien dengan driver PostgreSQL JDBC, lihat dokumentasi ini.
Nota
Untuk mengimpor sertifikat ke penyimpanan sertifikat klien, Anda mungkin harus mengonversi file .crt sertifikat ke format .pem. Anda dapat menggunakan utilitas OpenSSL untuk melakukan konversi file ini.
Mendapatkan daftar sertifikat tepercaya di Java Key Store secara terprogram
Secara default, Java menyimpan sertifikat tepercaya dalam file khusus bernama cacerts yang terletak di dalam folder penginstalan Java pada klien.
Contoh berikut membaca cacerts dan memuatnya ke dalam objek 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;
}
Kata sandi default untuk cacerts adalah changeit, tetapi harus berbeda pada klien nyata, karena administrator merekomendasikan untuk mengubah kata sandi segera setelah penginstalan Java.
Setelah Anda memuat objek KeyStore , gunakan kelas PKIXParameters untuk membaca sertifikat yang ada.
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());
}
Perbarui sertifikat CA root saat menggunakan klien di Azure App Service untuk skenario pinning sertifikat
Untuk Layanan Azure App yang terhubung ke server fleksibel Azure Database for PostgreSQL, ada dua skenario yang mungkin untuk memperbarui sertifikat klien. Skenario tergantung pada cara Anda menggunakan SSL dengan aplikasi Anda yang disebarkan ke Azure App Services.
- Platform menambahkan sertifikat baru ke App Service sebelum perubahan terjadi di server fleksibel Azure Database for PostgreSQL Anda. Jika Anda menggunakan sertifikat SSL yang disertakan pada platform App Service di aplikasi Anda, tidak ada tindakan yang diperlukan. Untuk informasi selengkapnya, lihat Menambahkan dan mengelola sertifikat TLS/SSL di Azure App Service dalam dokumentasi Azure App Service.
- Jika Anda secara eksplisit menyertakan jalur ke file sertifikat SSL dalam kode, Anda perlu mengunduh sertifikat baru dan memperbarui kode untuk menggunakannya. Contoh yang baik dari skenario ini adalah ketika Anda menggunakan kontainer kustom di App Service seperti yang dijelaskan dalam Tutorial: Mengonfigurasi kontainer sidecar untuk kontainer kustom di Azure App Service dalam dokumentasi Azure App Service.
Perbarui sertifikat CA akar saat menggunakan klien pada Azure Kubernetes Service (AKS), dalam skenario penyematan sertifikat
Jika Anda mencoba terhubung ke Azure Database for PostgreSQL menggunakan aplikasi yang dihosting di Azure Kubernetes Services (AKS) dan menyematkan sertifikat, caranya mirip dengan akses dari lingkungan host pelanggan yang khusus. Lihat langkah-langkah di sini.
Perbarui sertifikat CA root untuk pengguna .NET (Npgsql) di Windows untuk skenario pinning sertifikat
Untuk pengguna .NET (Npgsql) di Windows yang terhubung ke Azure Database for PostgreSQL Flexible Server, pastikan ketiganya—Microsoft RSA Root Certificate Authority 2017, DigiCert Global Root G2, dan DigiCert Global Root CA—semuanya ada di Penyimpanan Sertifikat Windows, Otoritas Sertifikasi Akar Tepercaya. Jika ada sertifikat yang tidak ada, impor sertifikat yang hilang.
Perbarui sertifikat CA akar untuk klien lain dalam skenario penyematan sertifikat
Untuk pengguna klien PostgreSQL lainnya, Anda dapat menggabungkan dua file sertifikat CA dengan menggunakan format berikut:
-----BEGIN CERTIFICATE-----
(Root CA1: DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Root CA2: Microsoft ECC Root Certificate Authority 2017.crt.pem)
-----END CERTIFICATE-----