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.