Dela via


Konfigurera ett krypteringscertifikat och kryptera hemligheter i Windows-kluster

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

Azure Key Vault används här som en säker lagringsplats för certifikat och som ett sätt att få certifikat installerade på Service Fabric-kluster i Azure. Om du inte distribuerar till Azure behöver du inte använda Key Vault för att hantera hemligheter i Service Fabric-program. Att använda hemligheter i ett program är dock molnplattformsoberoende för att tillåta att program distribueras till ett kluster som finns var som helst.

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.

  • Certifikatet måste skapas för nyckelutbyte, som kan exporteras till en Fil för personlig informationsutbyte (.pfx).

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

    När du till exempel skapar ett självsignerat certifikat med PowerShell KeyUsage måste flaggan vara inställd på DataEncipherment:

    New-SelfSignedCertificate -Type DocumentEncryptionCert -KeyUsage DataEncipherment -Subject mydataenciphermentcert -Provider 'Microsoft Enhanced Cryptographic Provider v1.0'
    

Installera certifikatet i klustret

Certifikatet måste installeras på varje nod i klustret. Se hur du skapar ett kluster med Hjälp av Azure Resource Manager för installationsinstruktioner.

Kryptera programhemligheter

Följande PowerShell-kommando används för att kryptera en hemlighet. Det här kommandot 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:

Invoke-ServiceFabricEncryptText -CertStore -CertThumbprint "<thumbprint>" -Text "mysecret" -StoreLocation CurrentUser -StoreName My

Den resulterande base-64-kodade strängen innehåller både den hemliga chiffertexten samt information om certifikatet som användes för att kryptera den.

Nästa steg

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