Een versleutelingscertificaat instellen en geheimen versleutelen op Linux-clusters
In dit artikel wordt beschreven hoe u een versleutelingscertificaat instelt en gebruikt om geheimen op Linux-clusters te versleutelen. Zie Voor Windows-clusters een versleutelingscertificaat instellen en geheimen versleutelen op Windows-clusters.
Een certificaat voor gegevenscodering verkrijgen
Een certificaat voor gegevenscodering wordt strikt gebruikt voor versleuteling en ontsleuteling van parameters in de Settings.xml- en omgevingsvariabelen van een service in de ServiceManifest.xml van een service. Het wordt niet gebruikt voor verificatie of ondertekening van coderingstekst. Het certificaat moet voldoen aan de volgende vereisten:
Het certificaat moet een persoonlijke sleutel bevatten.
Het gebruik van de certificaatsleutel moet gegevenscodering (10) bevatten en mag geen serververificatie of clientverificatie bevatten.
De volgende opdrachten kunnen bijvoorbeeld worden gebruikt om het vereiste certificaat te genereren met behulp van 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
Het certificaat installeren in uw cluster
Het certificaat moet worden geïnstalleerd op elk knooppunt in het cluster onder /var/lib/sfcerts
. Het gebruikersaccount waaronder de service wordt uitgevoerd (standaard sfuser) moet leestoegang hebben tot het geïnstalleerde certificaat (dat wil /var/lib/sfcerts/TestCert.pem
gezegd voor het huidige voorbeeld).
Geheimen versleutelen
Het volgende codefragment kan worden gebruikt om een geheim te versleutelen. Dit codefragment versleutelt alleen de waarde; de coderingstekst wordt niet ondertekend. U moet hetzelfde coderingscertificaat gebruiken dat in uw cluster is geïnstalleerd om coderingstekst voor geheime waarden te produceren.
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 resulterende base-64 gecodeerde tekenreeksuitvoer naar encrypted.txt bevat zowel de geheime coderingstekst als informatie over het certificaat dat is gebruikt om het te versleutelen. U kunt de geldigheid ervan controleren door deze te ontsleutelen met OpenSSL.
user@linux:$ cat encrypted.txt | base64 -d | openssl smime -decrypt -inform der -inkey TestCert.prv
Volgende stappen
Meer informatie over het opgeven van versleutelde geheimen in een toepassing.