Bagikan melalui


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.