Configurare e usare certificati PKCS importati con Intune

Microsoft Intune supporta l'uso di certificati PKCS (Public Key Pair) importati, comunemente usati per la crittografia S/MIME con profili Email. Alcuni profili di posta elettronica in Intune supportano un'opzione per abilitare S/MIME in cui è possibile definire un certificato di firma S/MIME e un certificato di crittografia S/MIME.

Importante

Come annunciato in questo blog Microsoft Tech Community, il supporto per Azure Active Directory Authentication Library (ADAL) termina a dicembre 2022. Affinché gli script di PowerShell o il codice personalizzato continuino a funzionare per importare i certificati PFX degli utenti in Intune, è necessario aggiornarli per sfruttare Microsoft Authentication Library (MSAL). Inoltre, l'ID applicazione di Intune globale deve essere aggiornato con l'ID applicazione (client) univoco assegnato all'app dopo la registrazione in Microsoft Entra ID per evitare problemi di autenticazione futuri.

In GitHub, lo script di PowerShell di esempio per semplificare l'importazione di certificati PFX è stato aggiornato per fare riferimento a MSAL e all'ID applicazione (client) Microsoft Entra. Gli esempi di script in questo articolo vengono aggiornati anche se applicabile.

Per altre informazioni, vedere il file leggimi PFXImport PowerShell Project in GitHub e scaricare lo script di esempio aggiornato.

La crittografia S/MIME è complessa perché la posta elettronica è crittografata con un certificato specifico:

  • È necessario disporre della chiave privata del certificato che ha crittografato il messaggio di posta elettronica nel dispositivo in cui si sta leggendo il messaggio di posta elettronica in modo che possa essere decrittografato.
  • Prima della scadenza di un certificato in un dispositivo, è necessario importare un nuovo certificato in modo che i dispositivi possano continuare a decrittografare il nuovo messaggio di posta elettronica. Il rinnovo di questi certificati non è supportato.
  • I certificati di crittografia vengono rinnovati regolarmente, il che significa che potrebbe essere necessario mantenere il certificato precedente nei dispositivi, per garantire che la posta elettronica precedente possa continuare a essere decrittografata.

Poiché lo stesso certificato deve essere usato tra i dispositivi, non è possibile usare i profili di certificato SCEP o PKCS a questo scopo perché tali meccanismi di recapito dei certificati forniscono certificati univoci per dispositivo.

Per altre informazioni sull'uso di S/MIME con Intune, usare S/MIME per crittografare la posta elettronica.

Piattaforme supportate

Intune supporta l'importazione di certificati PFX per le piattaforme seguenti:

  • Amministratore del dispositivo Android
  • Android Enterprise:
    • Completamente gestito
    • profilo di lavoro Corporate-Owned
    • profilo di lavoro Personally-Owned
  • iOS/iPadOS
  • macOS
  • Windows 10/11

Importante

Microsoft Intune termina il supporto per la gestione degli amministratori di dispositivi Android nei dispositivi con accesso a Google Mobile Services (GMS) il 30 agosto 2024. Dopo tale data, la registrazione del dispositivo, il supporto tecnico, le correzioni di bug e le correzioni di sicurezza non saranno disponibili. Se attualmente si usa la gestione dell'amministratore dei dispositivi, è consigliabile passare a un'altra opzione di gestione Android in Intune prima della fine del supporto. Per altre informazioni, vedere Supporto finale per l'amministratore di dispositivi Android nei dispositivi GMS.

Requisiti

Per usare i certificati PKCS importati con Intune, è necessaria l'infrastruttura seguente:

  • Connettore di certificati per Microsoft Intune:

    Il connettore di certificati gestisce le richieste per i file PFX importati in Intune per la crittografia della posta elettronica S/MIME per un utente specifico. Assicurarsi che ogni connettore installato abbia accesso alla chiave privata usata per crittografare le password dei file PFX caricati.

    Per informazioni sul connettore di certificati, vedere:

  • Windows Server:

    Il connettore di certificati viene installato in un windows server che soddisfa i prerequisiti dei connettori.

  • Visual Studio 2015 o versione successiva (facoltativo):

    È possibile usare Visual Studio per compilare il modulo PowerShell helper con i cmdlet per l'importazione di certificati PFX in Microsoft Intune. Per ottenere i cmdlet di PowerShell dell'helper, vedere PFXImport PowerShell Project in GitHub.

Come funziona

Quando si usa Intune per distribuire un certificato PFX importato a un utente, sono in gioco due componenti oltre al dispositivo:

  • Servizio Intune: archivia i certificati PFX in uno stato crittografato e gestisce la distribuzione del certificato al dispositivo utente. Le password che proteggono le chiavi private dei certificati vengono crittografate prima che vengano caricate usando un modulo di sicurezza hardware (HSM) o crittografia windows, assicurando che Intune non possa accedere alla chiave privata in qualsiasi momento.

  • Connettore di certificati per Microsoft Intune: quando un dispositivo richiede un certificato PFX importato in Intune, la password crittografata, il certificato e la chiave pubblica del dispositivo vengono inviati al connettore. Il connettore decrittografa la password usando la chiave privata locale e quindi crittografa nuovamente la password (ed eventuali profili plist se si usa iOS) con la chiave del dispositivo prima di inviare nuovamente il certificato a Intune. Intune recapita quindi il certificato al dispositivo e lo decrittografa con la chiave privata del dispositivo e installa il certificato.

Importare certificati PFX in Intune

Si usa Microsoft Graph per importare i certificati PFX degli utenti in Intune. L'helper PFXImport PowerShell Project in GitHub offre cmdlet per eseguire le operazioni con facilità.

Se si preferisce usare una soluzione personalizzata usando Graph, usare il tipo di risorsa userPFXCertificate.

Creare cmdlet 'PFXImport PowerShell Project'

Per usare i cmdlet di PowerShell, compilare il progetto manualmente usando Visual Studio. Il processo è semplice e, anche se può essere eseguito sul server, è consigliabile eseguirlo nella workstation.

  1. Passare alla radice del repository Intune-Resource-Access in GitHub e quindi scaricare o clonare il repository con Git nel computer.

    Pulsante di download di GitHub

  2. Passare a .\Intune-Resource-Access-develop\src\PFXImportPowershell\ e aprire il progetto con Visual Studio usando il file PFXImportPS.sln.

  3. Nella parte superiore passare da Debug a Release.

  4. Passare a Build (Compila ) e selezionare Build PFXImportPS (Compila PFXImportPS). Tra qualche istante verrà visualizzata la conferma compilazione completata nella parte inferiore sinistra di Visual Studio.

    Opzione di compilazione di Visual Studio

  5. Il processo di compilazione crea una nuova cartella con il modulo PowerShell all'indirizzo .\Intune-Resource-Access-develop\src\PFXImportPowershell\PFXImportPS\bin\Release.

    Questa cartella Release verrà usata per i passaggi successivi.

Creare la chiave pubblica di crittografia

I certificati PFX e le relative chiavi private verranno importati in Intune. La password che protegge la chiave privata viene crittografata con una chiave pubblica archiviata in locale. È possibile usare la crittografia di Windows, un modulo di sicurezza hardware o un altro tipo di crittografia per generare e archiviare le coppie di chiavi pubbliche/private. A seconda del tipo di crittografia usata, la coppia di chiavi pubblica/privata può essere esportata in un formato di file a scopo di backup.

Il modulo PowerShell fornisce metodi per creare una chiave usando la crittografia di Windows. È anche possibile usare altri strumenti per creare una chiave.

Per creare la chiave di crittografia usando la crittografia di Windows

  1. Copiare la cartella Release creata da Visual Studio nel server in cui è stato installato il connettore di certificati per Microsoft Intune. Questa cartella contiene il modulo PowerShell.

  2. Nel server aprire PowerShell come amministratore e quindi passare alla cartella Release che contiene il modulo PowerShell.

  3. Per importare il modulo, eseguire Import-Module .\IntunePfxImport.psd1 per importare il modulo.

  4. Eseguire quindi Add-IntuneKspKey -ProviderName "Microsoft Software Key Storage Provider" -KeyName "PFXEncryptionKey"

    Consiglio

    Il provider usato deve essere selezionato di nuovo quando si importano certificati PFX. È possibile usare il provider di archiviazione chiavi software Microsoft, anche se è supportato per l'uso di un provider diverso. Il nome della chiave viene fornito anche come esempio ed è possibile usare un nome di chiave diverso a scelta.

    Se si prevede di importare il certificato dalla workstation, è possibile esportare questa chiave in un file con il comando seguente: Export-IntunePublicKey -ProviderName "<ProviderName>" -KeyName "<KeyName>" -FilePath "<File path\Filename.PFX>"

    La chiave privata deve essere importata in ogni server che ospita il connettore di certificati per Microsoft Intune in modo che i certificati PFX importati possano essere elaborati correttamente.

Per usare un modulo di sicurezza hardware (HSM)

È possibile usare un modulo di sicurezza hardware (HSM) per generare e archiviare la coppia di chiavi pubblica/privata. Per altre informazioni, vedere la documentazione del provider HSM.

Importare certificati PFX

Il processo seguente usa i cmdlet di PowerShell come esempio di importazione dei certificati PFX. È possibile scegliere opzioni diverse a seconda dei requisiti.

Le opzioni disponibili sono:

  • Scopo previsto (raggruppa i certificati in base a un tag):

    • Nessuno
    • smimeEncryption
    • smimeSigning
  • Schema di riempimento:

    • oaepSha256
    • oaepSha384
    • oaepSha512

Selezionare il provider di archiviazione chiavi corrispondente al provider usato per creare la chiave.

Per importare il certificato PFX

  1. Esportare i certificati da qualsiasi autorità di certificazione seguendo la documentazione del provider. Per Servizi certificati Microsoft Active Directory, è possibile usare questo script di esempio.

  2. Nel server aprire PowerShell come amministratore e quindi passare alla cartella Release che contiene il modulo di PowerShell IntunePfxImport.psd1.

    Nota

    Prima di eseguire IntunePfxImport.psd1, è necessario apportare le modifiche seguenti per i tenant GCC High e DoD.

    Usare un editor di testo o PowerShell ISE per modificare il file, che aggiorna gli endpoint di servizio per l'ambiente GCC High. Si noti che questi aggiornamenti modificano gli URI da .com a suffissi .us . Sono disponibili in totale due aggiornamenti all'interno di IntunePfxImport.psd1. Uno per AuthURI e il secondo per 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
        }
    

    Dopo aver salvato le modifiche, riavviare PowerShell.

  3. Per importare il modulo, eseguire Import-Module .\IntunePfxImport.psd1

  4. Per eseguire l'autenticazione in Intune Graph, eseguire Set-IntuneAuthenticationToken -AdminUserName "<Admin-UPN>"

    Nota

    Poiché l'autenticazione viene eseguita su Graph, è necessario fornire le autorizzazioni per l'AppID. Se è la prima volta che si usa questa utilità, è necessario un amministratore globale. I cmdlet di PowerShell usano lo stesso AppID di quello usato con gli esempi di PowerShell Intune.

  5. Convertire la password per ogni file PFX che si sta importando in una stringa sicura eseguendo $SecureFilePassword = ConvertTo-SecureString -String "<PFXPassword>" -AsPlainText -Force.

  6. Per creare un oggetto UserPFXCertificate , eseguire $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathPFXToCert>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>"

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

    Nota

    Quando si importa il certificato da un sistema diverso dal server in cui è installato il connettore, è necessario usare il comando seguente che include il percorso del file di chiave: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathToPFX>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>" "<PaddingScheme>" "<File path to public key file>"

    LA VPN non è supportata come IntendedPurpose.

  7. Importare l'oggetto UserPFXCertificate in Intune eseguendo Import-IntuneUserPfxCertificate -CertificateList $userPFXObject

  8. Per convalidare l'importazione del certificato, eseguire Get-IntuneUserPfxCertificate -UserList "<UserUPN>"

  9. Come procedura consigliata per pulire la cache dei token Microsoft Entra senza attendere che scada autonomamente, eseguireRemove-IntuneAuthenticationToken

Per altre informazioni sugli altri comandi disponibili, vedere il file leggimi in PFXImport PowerShell Project in GitHub.

Creare un profilo certificato pkcs importato

Dopo aver importato i certificati in Intune, creare un profilo certificato pkcs importato e assegnarlo ai gruppi di Microsoft Entra.

Nota

Dopo aver creato un profilo certificato pkcs importato, i valori del provider di archiviazione per scopi e chiavi (KSP) previsti nel profilo sono di sola lettura e non possono essere modificati. Se è necessario un valore diverso per una di queste impostazioni, creare e distribuire un nuovo profilo.

  1. Accedere all'interfaccia di amministrazione Microsoft Intune.

  2. Selezionare e passare aCreazione configurazione>dispositivi>.

  3. Immettere le proprietà seguenti:

    • Piattaforma: scegliere la piattaforma per il proprio dispositivo.
    • Profilo: selezionare certificato PKCS importato. In alternativa, selezionare Modelli di>certificato PKCS importato.
  4. Selezionare Crea.

  5. In Informazioni di base immettere le proprietà seguenti:

    • Nome: immettere un nome descrittivo per il profilo. Assegnare ai profili nomi che possano essere identificati facilmente in un secondo momento. Ad esempio, un nome di profilo valido è il profilo certificato importato PKCS per l'intera azienda.
    • Descrizione: immettere una descrizione per il profilo. Questa impostazione è facoltativa ma consigliata.
  6. Seleziona Avanti.

  7. In Impostazioni di configurazione immettere le proprietà seguenti:

    • Scopo previsto: specificare lo scopo previsto dei certificati importati per questo profilo. Gli amministratori possono importare certificati con scopi diversi, ad esempio la firma S/MIME o la crittografia S/MIME. Lo scopo desiderato selezionato nel profilo certificato corrisponde al profilo certificato con i certificati importati corretti. Lo scopo previsto è un tag per raggruppare i certificati importati e non garantisce che i certificati importati con tale tag soddisfino lo scopo previsto.

    • Provider di archiviazione chiavi (KSP): per Windows selezionare dove archiviare le chiavi nel dispositivo.

  8. Questo passaggio si applica solo ai profili di dispositivi Android Enterprise per il profilo di lavoro completamente gestito, dedicato e Corporate-Owned.

    In App configurare l'accesso ai certificati per gestire la modalità di concessione dell'accesso ai certificati alle applicazioni. Scegliere tra:

    • Richiedi l'approvazione dell'utente per le app(impostazione predefinita): gli utenti devono approvare l'uso di un certificato da parte di tutte le applicazioni.
    • Concedere in modo invisibile all'utente per app specifiche (richiedere l'approvazione dell'utente per altre app): con questa opzione selezionare Aggiungi app e quindi selezionare una o più app che useranno automaticamente il certificato senza l'interazione dell'utente.
  9. Seleziona Avanti.

  10. In Assegnazioni selezionare l'utente o i gruppi che riceveranno il profilo. Per altre informazioni sull'assegnazione di profili, vedere Assegnare profili utente e dispositivo.

    Seleziona Avanti.

  11. (Si applica solo a Windows 10/11) Nelle regole di applicabilità specificare le regole di applicabilità per perfezionare l'assegnazione di questo profilo. È possibile scegliere di assegnare o meno il profilo in base all'edizione o alla versione del sistema operativo di un dispositivo.

    Per altre informazioni, vedere Regole di applicabilità in Creare un profilo di dispositivo in Microsoft Intune.

    Seleziona Avanti.

  12. In Rivedi e crea rivedere le impostazioni. Quando si seleziona Crea, le modifiche vengono salvate e il profilo viene assegnato. Il criterio viene visualizzato anche nell'elenco dei profili.

Supporto per partner di terze parti

I partner seguenti forniscono metodi o strumenti supportati che è possibile usare per importare certificati PFX in Intune.

DigiCert

Se si usa il servizio DigiCert PKI Platform, è possibile usare lo strumento di importazione DigiCert per i certificati S/MIME di Intune per importare certificati PFX in Intune. L'uso di questo strumento sostituisce la necessità di seguire le istruzioni riportate nella sezione Importare certificati PFX in Intune descritta in dettaglio in questo articolo.

Per altre informazioni sullo strumento DigiCert Import, incluso come ottenere lo strumento, vedere https://knowledge.digicert.com/tutorials/microsoft-intune.html la knowledge base DigiCert.

EverTrust

Se si usa EverTrust come soluzione PKI, autonoma o combinata in un'infrastruttura a chiave pubblica esistente, è possibile configurare EverTrust Horizon per importare certificati PFX in Intune. Dopo aver completato l'integrazione, non sarà necessario seguire le istruzioni riportate nella sezione Importa certificati PFX in Intune descritta in dettaglio in questo articolo.

Per altre informazioni sull'integrazione di EverTrust con Intune, vedere https://evertrust.fr/horizon-and-intune-integration/.

KeyTalk

Se si usa il servizio KeyTalk, è possibile configurare il servizio per importare i certificati PFX in Intune. Dopo aver completato l'integrazione, non sarà necessario seguire le istruzioni riportate nella sezione Importare certificati PFX in Intune in Intune descritta in dettaglio in precedenza in questo articolo.

Per altre informazioni sull'integrazione di KeyTalk con Intune, vedere https://keytalk.com/support in KeyTalk knowledge base.

Passaggi successivi

Usare SCEP per i certificati

L'interfaccia utente di Intune visualizza i dispositivi Windows Server come distinti dai client Windows per lo scenario Gestione sicurezza per Microsoft Defender per endpoint

Per supportare lo scenario Gestione sicurezza per Microsoft Defender per endpoint (configurazione della sicurezza MDE), Intune distinguerà presto i dispositivi Windows in Microsoft Entra ID come Windows Server per i dispositivi che eseguono Windows Server o come Windows per i dispositivi che eseguono Windows 10 o Windows 11.

Con questa modifica, sarà possibile migliorare la destinazione dei criteri per la configurazione della sicurezza Microsoft Defender per endpoint. Ad esempio, potrai usare gruppi dinamici costituiti solo da dispositivi Windows Server o solo da dispositivi client Windows (Windows 10/11).