Share 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 så att program kan distribueras till ett kluster 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 personligt 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 anges till 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 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 enchphermentcertifikat 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 hemlig chiffertext och 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.