Konfigurera och använda importerade PKCS-certifikat med Intune

Microsoft Intune stöder användning av importerade PKCS-certifikat (Public Key Pair), som ofta används för S/MIME-kryptering med Email profiler. Vissa e-postprofiler i Intune stöder ett alternativ för att aktivera S/MIME där du kan definiera ett S/MIME-signeringscertifikat och S/MIME-krypteringscertifikat.

Viktigt

Som vi meddelade i den här Microsoft Tech Community bloggen upphör stödet för Azure Active Directory Authentication Library (ADAL) i december 2022. För att dina PowerShell-skript eller anpassad kod ska fortsätta att fungera för att importera PFX-användarcertifikat till Intune måste de uppdateras för att använda Microsoft Authentication Library (MSAL). Dessutom bör det globala Intune-program-ID:t uppdateras med det unika program-ID (klient)-ID som tilldelats din app när den har registrerats i Microsoft Entra ID för att förhindra framtida autentiseringsproblem.

På GitHub har PowerShell-exempelskriptet för att förenkla importen av PFX-certifikat uppdaterats för att referera till MSAL och Microsoft Entra Application (klient)-ID. Skriptexempel i den här artikeln uppdateras också i förekommande fall.

Mer information finns i PFXImport PowerShell Project-readme-filen på GitHub och ladda ned det uppdaterade exempelskriptet.

S/MIME-kryptering är en utmaning eftersom e-post krypteras med ett specifikt certifikat:

  • Du måste ha den privata nyckeln för certifikatet som krypterade e-postmeddelandet på den enhet där du läser e-postmeddelandet så att det kan dekrypteras.
  • Innan ett certifikat på en enhet upphör att gälla bör du importera ett nytt certifikat så att enheterna kan fortsätta att dekryptera ny e-post. Förnyelse av dessa certifikat stöds inte.
  • Krypteringscertifikat förnyas regelbundet, vilket innebär att du kanske vill behålla tidigare certifikat på dina enheter för att säkerställa att äldre e-post kan fortsätta att dekrypteras.

Eftersom samma certifikat måste användas på olika enheter går det inte att använda SCEP - eller PKCS-certifikatprofiler för det här ändamålet eftersom dessa mekanismer för certifikatleverans levererar unika certifikat per enhet.

Mer information om hur du använder S/MIME med Intune finns i Använda S/MIME för att kryptera e-post.

Plattformar som stöds

Intune stöder import av PFX-certifikat för följande plattformar:

  • Android-enhetsadministratör
  • Android Enterprise:
    • Fullständigt hanterad
    • Corporate-Owned arbetsprofil
    • Personally-Owned arbetsprofil
  • iOS/iPadOS
  • macOS
  • Windows 10/11

Viktigt

Microsoft Intune upphör stödet för hantering av Android-enhetsadministratörer på enheter med åtkomst till Google Mobile Services (GMS) den 30 augusti 2024. Efter det datumet är enhetsregistrering, teknisk support, felkorrigeringar och säkerhetskorrigeringar otillgängliga. Om du för närvarande använder hantering av enhetsadministratörer rekommenderar vi att du växlar till ett annat Android-hanteringsalternativ i Intune innan supporten upphör. Mer information finns i Avsluta stöd för Android-enhetsadministratör på GMS-enheter.

Krav

Om du vill använda importerade PKCS-certifikat med Intune behöver du följande infrastruktur:

  • Certifikatanslutningsapp för Microsoft Intune:

    Certifikatanslutningsappen hanterar begäranden för PFX-filer som importerats till Intune för S/MIME-e-postkryptering för en viss användare. Kontrollera att varje anslutningsapp som du installerar har åtkomst till den privata nyckel som används för att kryptera lösenorden för de uppladdade PFX-filerna.

    Information om certifikatanslutningsappen finns i:

  • Windows Server:

    Certifikatanslutningsappen installeras på en Windows Server som uppfyller kraven för anslutningsappar.

  • Visual Studio 2015 eller senare (valfritt):

    Du använder Visual Studio för att skapa PowerShell-hjälpmodulen med cmdletar för att importera PFX-certifikat till Microsoft Intune. Information om hur du hämtar PowerShell-cmdletar finns i PFXImport PowerShell Project i GitHub.

Så här fungerar det

När du använder Intune för att distribuera ett importerat PFX-certifikat till en användare finns det två komponenter på spel utöver enheten:

  • Intune-tjänsten: Lagrar PFX-certifikaten i ett krypterat tillstånd och hanterar distributionen av certifikatet till användarenheten. Lösenorden som skyddar de privata nycklarna för certifikaten krypteras innan de laddas upp med hjälp av antingen en maskinvarusäkerhetsmodul (HSM) eller Windows-kryptografi, vilket säkerställer att Intune inte kan komma åt den privata nyckeln när som helst.

  • Certifikatanslutningsapp för Microsoft Intune: När en enhet begär ett PFX-certifikat som har importerats till Intune skickas det krypterade lösenordet, certifikatet och enhetens offentliga nyckel till anslutningsappen. Anslutningsappen dekrypterar lösenordet med den lokala privata nyckeln och krypterar sedan lösenordet (och eventuella plist-profiler om du använder iOS) med enhetsnyckeln innan certifikatet skickas tillbaka till Intune. Intune levererar sedan certifikatet till enheten och enheten dekrypterar det med enhetens privata nyckel och installerar certifikatet.

Importera PFX-certifikat till Intune

Du använder Microsoft Graph för att importera dina användares PFX-certifikat till Intune. Hjälpkomponenten PFXImport PowerShell Project på GitHub ger dig cmdletar för att enkelt utföra åtgärderna.

Om du föredrar att använda din egen anpassade lösning med Graph använder du resurstypen userPFXCertificate.

Skapa "PFXImport PowerShell Project"-cmdletar

Om du vill använda PowerShell-cmdletar skapar du projektet själv med Hjälp av Visual Studio. Processen är enkel och även om den kan köras på servern rekommenderar vi att du kör den på din arbetsstation.

  1. Gå till roten för Intune-Resource-Access-lagringsplatsen på GitHub och ladda sedan ned eller klona lagringsplatsen med Git till datorn.

    Nedladdningsknapp för GitHub

  2. Gå till .\Intune-Resource-Access-develop\src\PFXImportPowershell\ och öppna projektet med Visual Studio med hjälp av filen PFXImportPS.sln.

  3. Överst ändrar du från Felsökning till Version.

  4. Gå till Skapa och välj Skapa PFXImportPS. Om en liten stund visas bekräftelsen skapa lyckades längst ned till vänster i Visual Studio.

    Visual Studio Build-alternativ

  5. Byggprocessen skapar en ny mapp med PowerShell-modulen på .\Intune-Resource-Access-develop\src\PFXImportPowershell\PFXImportPS\bin\Release.

    Du använder den här versionsmappen för nästa steg.

Skapa den offentliga krypteringsnyckeln

Du importerar PFX-certifikat och deras privata nycklar till Intune. Lösenordet som skyddar den privata nyckeln krypteras med en offentlig nyckel som lagras lokalt. Du kan använda antingen Windows-kryptografi, en maskinvarusäkerhetsmodul eller en annan typ av kryptografi för att generera och lagra de offentliga/privata nyckelparen. Beroende på vilken typ av kryptografi som används kan det offentliga/privata nyckelparet exporteras i filformat i säkerhetskopieringssyfte.

PowerShell-modulen innehåller metoder för att skapa en nyckel med hjälp av Windows-kryptografi. Du kan också använda andra verktyg för att skapa en nyckel.

Så här skapar du krypteringsnyckeln med hjälp av Windows-kryptografi

  1. Kopiera den versionsmapp som skapas av Visual Studio till servern där du installerade certifikatanslutningsappen för Microsoft Intune. Den här mappen innehåller PowerShell-modulen.

  2. Öppna PowerShell som administratör på servern och navigera sedan till mappen Release som innehåller PowerShell-modulen.

  3. Importera modulen genom att köra Import-Module .\IntunePfxImport.psd1 för att importera modulen.

  4. Kör sedan Add-IntuneKspKey -ProviderName "Microsoft Software Key Storage Provider" -KeyName "PFXEncryptionKey"

    Tips

    Providern som du använder måste väljas igen när du importerar PFX-certifikat. Du kan använda Microsoft Software Key Storage Provider, även om det stöds för att använda en annan provider. Nyckelnamnet anges också som ett exempel och du kan använda ett annat nyckelnamn.

    Om du planerar att importera certifikatet från din arbetsstation kan du exportera den här nyckeln till en fil med följande kommando: Export-IntunePublicKey -ProviderName "<ProviderName>" -KeyName "<KeyName>" -FilePath "<File path\Filename.PFX>"

    Den privata nyckeln måste importeras på varje server som är värd för certifikatanslutningsappen för Microsoft Intune så att importerade PFX-certifikat kan bearbetas.

Så här använder du en maskinvarusäkerhetsmodul (HSM)

Du kan använda en maskinvarusäkerhetsmodul (HSM) för att generera och lagra det offentliga/privata nyckelparet. Mer information finns i HSM-providerns dokumentation.

Importera PFX-certifikat

I följande process används PowerShell-cmdletar som ett exempel på hur du importerar PFX-certifikaten. Du kan välja olika alternativ beroende på dina behov.

Alternativen är:

  • Avsett syfte (grupperar certifikat tillsammans baserat på en tagg):

    • Otilldelade
    • smimeEncryption
    • smimeSigning
  • Utfyllnadsschema:

    • oaepSha256
    • oaepSha384
    • oaepSha512

Välj den nyckellagringsprovider som matchar providern som du använde för att skapa nyckeln.

Importera PFX-certifikatet

  1. Exportera certifikaten från valfri certifikatutfärdare (CA) genom att följa dokumentationen från providern. För Microsoft Active Directory Certificate Services kan du använda det här exempelskriptet.

  2. Öppna PowerShell som administratör på servern och gå sedan till mappen Release som innehåller PowerShell-modulen IntunePfxImport.psd1.

    Obs!

    Följande ändringar måste göras för GCC High- och DoD-klientorganisationer innan du kör IntunePfxImport.psd1.

    Använd en textredigerare eller PowerShell ISE för att redigera filen, som uppdaterar tjänstslutpunkterna för GCC High-miljön. Observera att dessa uppdateringar ändrar URI:erna från .com till .us-suffix . Det finns totalt två uppdateringar i IntunePfxImport.psd1. En för AuthURI och den andra för GraphURI:

    PrivateData = @{
        AuthURI = "login.microsoftonline.us"
        GraphURI = "https://graph.microsoft.us"
        SchemaVersion = "beta"
    
        ClientId = "00000000-0000-0000-0000-000000000000" # Client Id from Azure app registration
    
        ClientSecret = ""  # client secret from app registration when using application permissions to authenticate
    
        TenantId = "00000000-0000-0000-0000-000000000000" # TenantId is required when using client secret
        }
    

    Starta om PowerShell när du har sparat ändringarna.

  3. Om du vill importera modulen kör du Import-Module .\IntunePfxImport.psd1

  4. Om du vill autentisera till Intune Graph kör du Set-IntuneAuthenticationToken -AdminUserName "<Admin-UPN>"

    Obs!

    När autentiseringen körs mot Graph måste du ange behörigheter till AppID. Om det är första gången du använder det här verktyget krävs en Global administratör. PowerShell-cmdletarna använder samma AppID som det som används med PowerShell Intune-exempel.

  5. Konvertera lösenordet för varje PFX-fil som du importerar till en säker sträng genom att köra $SecureFilePassword = ConvertTo-SecureString -String "<PFXPassword>" -AsPlainText -Force.

  6. Om du vill skapa ett UserPFXCertificate-objekt kör du $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathPFXToCert>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>"

    Till exempel: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "C:\temp\userA.pfx" $SecureFilePassword "userA@contoso.com" "Microsoft Software Key Storage Provider" "PFXEncryptionKey" "smimeEncryption"

    Obs!

    När du importerar certifikatet från ett annat system än den server där anslutningsappen är installerad måste du använda följande kommando som innehåller sökvägen till nyckelfilen: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathToPFX>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>" "<PaddingScheme>" "<File path to public key file>"

    VPN stöds inte som intendedPurpose.

  7. Importera UserPFXCertificate-objektet till Intune genom att köra Import-IntuneUserPfxCertificate -CertificateList $userPFXObject

  8. Om du vill verifiera att certifikatet har importerats kör du Get-IntuneUserPfxCertificate -UserList "<UserUPN>"

  9. Vi rekommenderar att du rensar Microsoft Entra tokencache utan att vänta på att den ska upphöra att gälla på egen hand genom att köraRemove-IntuneAuthenticationToken

Mer information om andra tillgängliga kommandon finns i readme-filen på PFXImport PowerShell Project på GitHub.

Skapa en PKCS-importerad certifikatprofil

När du har importerat certifikaten till Intune skapar du en PKCS-importerad certifikatprofil och tilldelar den till Microsoft Entra grupper.

Obs!

När du har skapat en PKCS-importerad certifikatprofil är värdena för avsett syfte och nyckellagringsprovider (KSP) i profilen skrivskyddade och kan inte redigeras. Om du behöver ett annat värde för någon av de här inställningarna skapar och distribuerar du en ny profil.

  1. Logga in på Microsoft Intune administrationscenter.

  2. Välj och gå till Enhetskonfiguration>>Skapa.

  3. Ange följande egenskaper:

    • Plattform: Välj plattform för dina enheter.
    • Profil: Välj PKCS-importerat certifikat. Eller välj Mallar>PKCS-importerat certifikat.
  4. Välj Skapa.

  5. Ange följande egenskaper i Grundinställningar:

    • Namn: Ange ett beskrivande namn på profilen. Namnge dina profiler så att du enkelt kan identifiera dem senare. Ett bra profilnamn är till exempel PKCS-importerad certifikatprofil för hela företaget.
    • Beskrivning: Ange en beskrivning för profilen. Denna inställning är valfri, men rekommenderas.
  6. Välj Nästa.

  7. I Konfigurationsinställningar anger du följande egenskaper:

    • Avsett syfte: Ange det avsedda syftet med de certifikat som importeras för den här profilen. Administratörer kan importera certifikat med olika avsedda syften (till exempel S/MIME-signering eller S/MIME-kryptering). Det avsedda syftet som valts i certifikatprofilen matchar certifikatprofilen med rätt importerade certifikat. Avsett syfte är en tagg för att gruppera importerade certifikat och garanterar inte att certifikat som importeras med taggen uppfyller det avsedda syftet.

    • Nyckellagringsprovider (KSP): För Windows väljer du var nycklarna ska lagras på enheten.

  8. Det här steget gäller endast för Android Enterprise-enhetsprofiler för fullständigt hanterad, dedikerad och Corporate-Owned arbetsprofil.

    I Appar konfigurerar du Certifikatåtkomst för att hantera hur certifikatåtkomst beviljas till program. Välj mellan:

    • Kräv användargodkännande för appar(standard) – Användarna måste godkänna användning av ett certifikat av alla program.
    • Bevilja tyst för specifika appar (kräver användargodkännande för andra appar) – Med det här alternativet väljer du Lägg till appar och väljer sedan en eller flera appar som tyst kommer att använda certifikatet utan användarinteraktion.
  9. Välj Nästa.

  10. I Tilldelningar väljer du den användare eller de grupper som ska ta emot din profil. Mer information om att tilldela profiler finns i Tilldela användar- och enhetsprofiler.

    Välj Nästa.

  11. (Gäller endast Windows 10/11) I Tillämplighetsregler anger du tillämplighetsregler för att förfina tilldelningen av den här profilen. Du kan välja att tilldela eller inte tilldela profilen baserat på operativsystemets utgåva eller version av en enhet.

    Mer information finns i Tillämplighetsregler i Skapa en enhetsprofil i Microsoft Intune.

    Välj Nästa.

  12. Granska inställningarna under Granska + skapa. När du väljer Skapa sparas dina ändringar och profilen tilldelas. Principen visas också i profillistan.

Stöd för tredjepartspartner

Följande partner tillhandahåller metoder eller verktyg som stöds och som du kan använda för att importera PFX-certifikat till Intune.

DigiCert

Om du använder DigiCert PKI Platform-tjänsten kan du använda DigiCert-importverktyget för Intune S/MIME-certifikat för att importera PFX-certifikat till Intune. Med det här verktyget ersätts behovet av att följa anvisningarna i avsnittet Importera PFX-certifikat till Intune som beskrivs tidigare i den här artikeln.

Mer information om importverktyget DigiCert, inklusive hur du hämtar verktyget, https://knowledge.digicert.com/tutorials/microsoft-intune.html finns i DigiCert-kunskapsbas.

EverTrust

Om du använder EverTrust som PKI-lösning, fristående eller kombinerad till en befintlig PKI, kan du konfigurera EverTrust Horizon för att importera PFX-certifikat till Intune. När du har slutfört integreringen behöver du inte följa anvisningarna i avsnittet Importera PFX-certifikat till Intune som beskrivs tidigare i den här artikeln.

Mer information om EverTrusts integrering med Intune finns i https://evertrust.fr/horizon-and-intune-integration/.

KeyTalk

Om du använder KeyTalk-tjänsten kan du konfigurera deras tjänst för att importera PFX-certifikat till Intune. När du har slutfört integreringen behöver du inte följa anvisningarna i avsnittet Importera PFX-certifikat till Intune till Intune som beskrivs tidigare i den här artikeln.

Mer information om KeyTalks integrering med Intune https://keytalk.com/support finns i KeyTalk-kunskapsbas.

Nästa steg

Använda SCEP för certifikat

Intune-användargränssnittet visar Windows Server-enheter som skiljer sig från Windows-klienter för säkerhetshantering för Microsoft Defender för Endpoint scenario

För att stödja scenariot Säkerhetshantering för Microsoft Defender för Endpoint (MDE-säkerhetskonfiguration) kommer Intune snart att särskilja Windows-enheter i Microsoft Entra ID som antingen Windows Server för enheter som kör Windows Server eller som Windows för enheter som kör Windows 10 eller Windows 11.

Med den här ändringen kan du förbättra principinriktningen för Microsoft Defender för Endpoint säkerhetskonfiguration. Du kan till exempel använda dynamiska grupper som endast består av Windows Server-enheter eller endast Windows-klientenheter (Windows 10/11).