Dela via


Konfigurera ett krypteringscertifikat och kryptera hemligheter i Linux-kluster

Den här artikeln visar hur du konfigurerar ett krypteringscertifikat och använder det för att kryptera hemligheter i Linux-kluster. Information om Windows-kluster finns i Konfigurera ett krypteringscertifikat och kryptera hemligheter i Windows-kluster.

Hämta ett datachiffreringscertifikat

Ett datachiffreringscertifikat används strikt för kryptering och dekryptering av parametrar i en tjänsts Settings.xml- och miljövariabler i en tjänsts ServiceManifest.xml. Den används inte för autentisering eller signering av chiffertext. Certifikatet måste uppfylla följande krav:

  • Certifikatet måste innehålla en privat nyckel.

  • Certifikatnyckelanvändningen måste innehålla datachiffrering (10) och bör inte innehålla serverautentisering eller klientautentisering.

    Följande kommandon kan till exempel användas för att generera det certifikat som krävs med 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
    

Installera certifikatet i klustret

Certifikatet måste installeras på varje nod i klustret under /var/lib/sfcerts. Användarkontot som tjänsten körs under (sfuser som standard) ska ha läsbehörighet till det installerade certifikatet (det vill /var/lib/sfcerts/TestCert.pem säga för det aktuella exemplet).

Kryptera hemligheter

Följande kodfragment kan användas för att kryptera en hemlighet. Det här kodfragmentet krypterar bara värdet. den signerar inte chiffertexten. Du måste använda samma krypteringscertifikat som är installerat i klustret för att skapa chiffertext för hemliga värden.

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

De resulterande base-64-kodade strängutdata till encrypted.txt innehåller både den hemliga chiffertexten samt information om certifikatet som användes för att kryptera det. Du kan verifiera dess giltighet genom att dekryptera den med OpenSSL.

user@linux:$ cat encrypted.txt | base64 -d | openssl smime -decrypt -inform der -inkey TestCert.prv

Nästa steg

Lär dig hur du anger krypterade hemligheter i ett program.