Delen via


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.