Menyiapkan sertifikat enkripsi dan mengenkripsi rahasia pada klaster Linux
Artikel ini menunjukkan cara menyiapkan sertifikat enkripsi dan menggunakannya untuk mengenkripsi rahasia pada klaster Linux. Untuk klaster Windows, lihat Menyiapkan sertifikat enkripsi dan mengenkripsi rahasia pada klaster Windows.
Mendapatkan sertifikat penyandian data
Sertifikat penyandian data hanya digunakan untuk enkripsi dan dekripsi parameter pada layanan Settings.xml dan variabel lingkungan di layanan ServiceManifest.xml. Sertifikat ini tidak digunakan untuk otentikasi atau penandatanganan teks sandi. Sertifikat harus memenuhi persyaratan berikut:
Sertifikat harus memuat kunci privat.
Penggunaan kunci sertifikat harus mencakup Penyandian Data (10), dan tidak boleh menyertakan Otentikasi Server atau Otentikasi Klien.
Misalnya, perintah berikut dapat digunakan untuk menghasilkan sertifikat yang diperlukan menggunakan OpenSSL:
user@linux:~$ openssl req -newkey rsa:2048 -nodes -keyout TestCert.prv -x509 -days 365 -out TestCert.pem user@linux:~$ cat TestCert.prv >> TestCert.pem
Instal sertifikat di klaster Anda
Sertifikat harus diinstal pada setiap node di klaster di bawah /var/lib/sfcerts
. Akun pengguna di mana layanan berjalan (sfuser secara default) harus memiliki akses baca ke sertifikat yang diinstal (yaitu, /var/lib/sfcerts/TestCert.pem
untuk contoh saat ini).
Mengenkripsi rahasia
Cuplikan kode berikut dapat digunakan untuk mengenkripsi rahasia. Cuplikan kode ini hanya mengenkripsi nilai; itu tidak menandatangani teks sandi. Anda harus menggunakan sertifikat penyandian yang sama yang diinstal di klaster Anda untuk menghasilkan ciphertext untuk nilai rahasia.
user@linux:$ echo "Hello World!" > plaintext.txt
user@linux:$ iconv -f ASCII -t UTF-16LE plaintext.txt | tr -d '\n' > plaintext_UTF-16.txt
user@linux:$ openssl smime -encrypt -in plaintext_UTF-16.txt -binary -outform der TestCert.pem | base64 > encrypted.txt
Output string yang dikodekan base-64 yang dihasilkan ke encrypted.txt berisi ciphertext rahasia serta informasi tentang sertifikat yang digunakan untuk mengenkripsinya. Anda dapat memverifikasi validitasnya dengan mendekripsinya dengan OpenSSL.
user@linux:$ cat encrypted.txt | base64 -d | openssl smime -decrypt -inform der -inkey TestCert.prv
Langkah berikutnya
Pelajari cara Menentukan rahasia terenkripsi dalam aplikasi.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk