Configurar e usar certificados PKCS importados com o Intune

O Microsoft Intune dá suporte ao uso de certificados de par de chaves públicas (PKCS) importados, normalmente usados na criptografia S/MIME com perfis de email. Determinados perfis de email no Intune dão suporte a uma opção para habilitar o S/MIME, em que é possível definir um certificado de autenticação S/MIME e um certificado de criptografia S/MIME.

Importante

Conforme anunciado neste blog Microsoft Tech Community, o suporte para a ADAL (Biblioteca de Autenticação do Azure Active Directory) termina em dezembro de 2022. Para que seus scripts ou código personalizado do PowerShell continuem trabalhando para importar certificados PFX do usuário para o Intune, eles devem ser atualizados para aproveitar a MSAL ( Biblioteca de Autenticação da Microsoft ). Além disso, a ID global do aplicativo do Intune deve ser atualizada com a ID exclusiva do aplicativo (cliente) atribuída ao seu aplicativo depois de registrá-la em Microsoft Entra ID para evitar problemas futuros de autenticação.

No GitHub, o script de exemplo do PowerShell para ajudar a simplificar a importação de certificados PFX foi atualizado para fazer referência ao MSAL e à ID do aplicativo Microsoft Entra (cliente). Exemplos de script neste artigo também são atualizados quando aplicável.

Para obter mais informações, exiba o arquivo de leitura do Projeto PFXImport PowerShell no GitHub e baixe o script de exemplo atualizado.

A criptografia S/MIME é desafiadora porque o email é criptografado com um certificado específico:

  • Você precisa ter a chave privada do certificado que criptografou o email no dispositivo em que está lendo o email para que ele seja descriptografado.
  • Antes que um certificado em um dispositivo expire, você deve importar um novo certificado para que os dispositivos possam continuar descriptografando novos emails. A renovação desses certificados não é um procedimento compatível.
  • Os certificados de criptografia são renovados regularmente, o que significa que você talvez queira manter o certificado anterior em seus dispositivos, para garantir que emails mais antigos possam continuar a ser descriptografados.

Como o mesmo certificado precisa ser usado em todos os dispositivos, não é possível usar perfis de certificados SCEP ou PKCS para essa finalidade, pois esses mecanismos de entrega de certificados fornecem certificados exclusivos por dispositivo.

Para obter mais informações sobre como usar S/MIME com o Intune, confira Usar S/MIMEpara criptografar email.

Plataformas compatíveis

O Intune dá suporte à importação de certificados PFX para as seguintes plataformas:

  • Administrador de dispositivo Android
  • Android Enterprise:
    • Totalmente gerenciado
    • Perfil de Trabalho de Propriedade Corporativa
    • Perfil de Trabalho de Propriedade Pessoal
  • iOS/iPadOS
  • macOS
  • Windows 10/11

Importante

Microsoft Intune está encerrando o suporte para o gerenciamento de administrador de dispositivos Android em dispositivos com acesso ao GMS (Google Mobile Services) em 30 de agosto de 2024. Após essa data, o registro do dispositivo, o suporte técnico, as correções de bug e as correções de segurança não estarão disponíveis. Se você usar atualmente o gerenciamento de administrador de dispositivos, recomendamos mudar para outra opção de gerenciamento android no Intune antes do fim do suporte. Para obter mais informações, leia Fim do suporte para o administrador de dispositivos Android em dispositivos GMS.

Requisitos

Para usar certificados PKCS importados com o Intune, a seguinte infraestrutura será necessária:

  • Certificate Connector para Microsoft Intune:

    O conector de certificado processa as solicitações de arquivos PFX importados para o Intune para a criptografia de email S/MIME de um usuário específico. Verifique se cada conector que você instalar tem acesso à chave privada usada para criptografar as senhas dos arquivos PFX carregados.

    Para obter informações sobre o conector de certificado, confira:

  • Windows Server:

    O conector de certificado é instalado em um Windows Server que atende aos pré-requisitos dos conectores.

  • Visual Studio 2015 ou posterior (opcional):

    Use o Visual Studio para criar o módulo auxiliar do PowerShell com cmdlets para importar certificados PFX ao Microsoft Intune. Para obter os cmdlets auxiliares do PowerShell, confira o Projeto PFXImport do PowerShell no GitHub.

Como funciona

Ao usar o Intune para implantar um certificado PFX importado em um usuário, há dois componentes em jogo, além do dispositivo:

  • Intune Service: armazena os certificados PFX em um estado criptografado e manipula a implantação do certificado no dispositivo do usuário. As senhas que protegem as chaves privadas dos certificados são criptografadas antes de serem carregadas, usando um HSM (módulo de segurança de hardware) ou a criptografia do Windows, o que garante que o Intune não possa acessar a chave privada a qualquer momento.

  • Certificate Connector para Microsoft Intune: quando um dispositivo solicita um certificado PFX que foi importado para o Intune, a senha criptografada, o certificado e a chave pública do dispositivo são enviados para o conector. O conector descriptografa a senha usando a chave privada local e, em seguida, criptografa novamente a senha (e quaisquer perfis do plist, se usar o iOS) com a chave do dispositivo antes de enviar o certificado de volta para o Intune. O Intune entrega o certificado ao dispositivo, que o descriptografa com a chave privada do dispositivo e instala o certificado.

Importar Certificados PFX para o Intune

Use o Microsoft Graph para importar os certificados PFX de seus usuários no Intune. O Projeto PFXImport do PowerShell no GitHub proporciona cmdlets para executar as operações com facilidade.

Se você preferir usar sua própria solução personalizada no Graph, use o tipo de recurso userPFXCertificate.

Criar cmdlets do “Projeto PFXImport do PowerShell”

Para usar os cmdlets do PowerShell, crie seu próprio projeto usando o Visual Studio. O processo é muito direto e, embora possa ser executado no servidor, é recomendável executá-lo em sua estação de trabalho.

  1. Vá para a raiz do repositório Intune-Resource-Access no GitHub e baixe ou clone o repositório do Git para o seu computador.

    Botão de download do GitHub

  2. Vá para .\Intune-Resource-Access-develop\src\PFXImportPowershell\ e abra o projeto com o Visual Studio usando o arquivo PFXImportPS.sln.

  3. Na parte superior, altere de Depurar para Versão.

  4. Vá para Compilar e selecione Compilar PFXImportPS. Em alguns momentos, você verá a confirmação do Build bem-sucedida no canto inferior esquerdo do Visual Studio.

    Opção de Compilação do Visual Studio

  5. O processo de compilação cria uma nova pasta com o Módulo do PowerShell em .\Intune-Resource-Access-develop\src\PFXImportPowershell\PFXImportPS\bin\Release.

    Use essa pasta de Versão nas próximas etapas.

Criar uma Chave Pública de criptografia

Importe os Certificados PFX e suas chaves privadas para o Intune. A senha que protege a chave privada é criptografada com uma chave pública armazenada localmente. É possível usar a criptografia do Windows, um módulo de segurança de hardware ou outro tipo de criptografia para gerar e armazenar os pares de chaves públicas e privadas. Dependendo do tipo de criptografia usado, o par de chave pública ou privada pode ser exportado em um formato de arquivo para fins de backup.

O módulo do PowerShell fornece métodos para criar uma chave usando a criptografia do Windows. Também é possível usar outras ferramentas para criar uma chave.

Para criar a chave de criptografia usando a criptografia do Windows

  1. Copie a pasta Versão criada pelo Visual Studio para o servidor em que você instalou o Certificate Connector para Microsoft Intune. Essa pasta contém o módulo do PowerShell.

  2. No servidor, abra o PowerShell como Administrador e navegue até a pasta Versão que contém o módulo do PowerShell.

  3. Para importar o módulo, execute Import-Module .\IntunePfxImport.psd1.

  4. Em seguida, execute Add-IntuneKspKey -ProviderName "Microsoft Software Key Storage Provider" -KeyName "PFXEncryptionKey"

    Dica

    O provedor que você usa deve ser selecionado novamente ao importar os Certificados PFX. É possível usar o Provedor de Armazenamento de Chaves de Software Microsoft, embora haja suporte para o uso de um provedor diferente. O nome da chave também é fornecido como exemplo, e é possível usar um nome de chave diferente à sua escolha.

    Se você planeja importar o certificado de sua estação de trabalho, poderá exportar essa chave para um arquivo com o seguinte comando: Export-IntunePublicKey -ProviderName "<ProviderName>" -KeyName "<KeyName>" -FilePath "<File path\Filename.PFX>"

    A chave privada precisa ser importada em cada servidor que hospeda o Certificate Connector para Microsoft Intune, de modo que os certificados PFX importados possam ser processados com êxito.

Para usar um HSM (módulo de segurança de hardware)

Você pode usar um HSM (módulo de segurança de hardware) para gerar e armazenar o par de chaves públicas e privadas. Para obter mais informações, confira a documentação do fornecedor do HSM.

Importar certificados PFX

O processo a seguir usa os cmdlets do PowerShell como exemplo de importação dos certificados PFX. Você pode escolher diferentes opções, dependendo de seus requisitos.

As opções são:

  • Finalidade pretendida (agrupa os certificados com base em uma marcação):

    • não atribuído
    • smimeEncryption
    • smimeSigning
  • Esquema de Preenchimento:

    • oaepSha256
    • oaepSha384
    • oaepSha512

Selecione o Provedor de Armazenamento de Chaves que corresponde ao provedor usado para criar a chave.

Para importar o certificado PFX

  1. Exporte os certificados da CA (Autoridade de Certificação) seguindo a documentação do provedor. Para os Serviços de Certificados do Active Directory, você pode usar este script de exemplo.

  2. No servidor, abra o PowerShell como Administrador e navegue até a pasta Versão que contém o módulo do PowerShell IntunePfxImport.psd1.

    Observação

    As alterações a seguir devem ser feitas para locatários de GCC High e DoD antes da execução do IntunePfxImport.psd1.

    Use um editor de texto ou o ISE do PowerShell para editar o arquivo, o que atualiza os pontos de extremidade de serviço para o ambiente do GCC High. Observe que essas atualizações alteram os sufixos dos URIs de .com para .us. Há um total de duas atualizações no IntunePfxImport.psd1. Uma para AuthURI e a segunda para 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
        }
    

    Depois de salvar as alterações, reinicie o PowerShell.

  3. Para importar o módulo, execute Import-Module .\IntunePfxImport.psd1

  4. Para autenticar no Intune Graph, execute Set-IntuneAuthenticationToken -AdminUserName "<Admin-UPN>"

    Observação

    Conforme a autenticação é executada no Graph, você deve fornecer permissões à AppID. Caso seja a primeira vez que você utiliza esse utilitário, é necessário ser um Administrador global. Os cmdlets do PowerShell usam a mesma AppID das Amostras do PowerShell do Intune.

  5. Converta a senha de cada arquivo PFX que você está importando para uma cadeia de caracteres segura executando $SecureFilePassword = ConvertTo-SecureString -String "<PFXPassword>" -AsPlainText -Force.

  6. Para criar um objeto UserPFXCertificate, execute $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathPFXToCert>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>"

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

    Observação

    Ao importar o certificado de um sistema diferente do servidor em que o conector está instalado, será preciso usar este comando que inclui o caminho do arquivo de chave: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathToPFX>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>" "<PaddingScheme>" "<File path to public key file>"

    A VPN não é compatível como um IntendedPurpose.

  7. Importe o objeto UserPFXCertificate para o Intune executando Import-IntuneUserPfxCertificate -CertificateList $userPFXObject

  8. Para validar o certificado importado, execute Get-IntuneUserPfxCertificate -UserList "<UserUPN>"

  9. Como prática recomendada para limpo o cache de token Microsoft Entra sem esperar que ele expire por conta própria, executeRemove-IntuneAuthenticationToken

Para mais informações sobre outros comandos disponíveis, confira o arquivo Leiame no Projeto PFXImport do PowerShell no GitHub.

Criar um perfil de certificado PKCS importado

Depois de importar os certificados para o Intune, crie um perfil de certificado importado do PKCS e atribua-os a grupos de Microsoft Entra.

Observação

Depois que você cria um perfil de certificado PKCS importado, os valores de Finalidade Pretendida e KSP (provedor de armazenamento de chaves) no perfil ficam somente leitura e não podem ser editados. Se você precisar de um valor diferente para qualquer uma dessas configurações, crie um perfil e implante-o.

  1. Entre no Centro de administração do Microsoft Intune.

  2. Selecione e vá para CriarConfiguração> de Dispositivos>.

  3. Insira as seguintes propriedades:

    • Plataforma: escolha a plataforma dos dispositivos.
    • Perfil: selecione Certificado PKCS importado. Ou selecione Modelos>Certificado PKCS importado.
  4. Selecionar Criar.

  5. Em Noções básicas, insira as seguintes propriedades:

    • Nome: insira um nome descritivo para o perfil. Nomeie seus perfis para que você possa identificá-los facilmente mais tarde. Por exemplo, um bom nome de perfil é Perfil de certificado PKCS importado para toda a empresa.
    • Descrição: insira uma descrição para o perfil. Essa configuração é opcional, mas recomendada.
  6. Selecione Avançar.

  7. Em Definições de configuração, insira as seguintes propriedades:

    • Finalidade pretendida: especifique a finalidade pretendida dos certificados que são importados para esse perfil. Os administradores podem importar certificados com finalidades pretendidas diferentes (como autenticação S/MIME ou criptografia S/MIME). A finalidade pretendida selecionada no perfil de certificado corresponde ao perfil de certificado com os certificados corretos importados. A finalidade pretendida é uma marcação para agrupar certificados importados, mas não garante que os certificados importados com essa marcação atenderão à finalidade pretendida.

    • KSP (provedor de armazenamento de chaves): para o Windows, selecione o local em que armazenar as chaves no dispositivo.

  8. Essa etapa se aplica apenas aos perfis de dispositivos Android Enterprise para Perfil de trabalho totalmente gerenciado, dedicado e Corporate-Owned.

    Em Aplicativos, configure o acesso ao Certificado para gerenciar como o acesso ao certificado é concedido aos aplicativos. Escolha entre:

    • Exigir aprovação do usuário para aplicativos(padrão) – os usuários devem aprovar o uso de um certificado por todos os aplicativos.
    • Conceda silenciosamente para aplicativos específicos (exigem aprovação do usuário para outros aplicativos) – Com essa opção, selecione Adicionar aplicativos e selecione um ou mais aplicativos que usarão silenciosamente o certificado sem interação do usuário.
  9. Selecione Avançar.

  10. Em Atribuições, selecione o usuário ou os grupos que receberão seu perfil. Para obter mais informações sobre a atribuição de perfis, consulte Atribuir perfis de usuário e dispositivo.

    Selecione Avançar.

  11. (Aplica-se apenas ao Windows 10/11) Em Regras de Aplicabilidade, especifique regras de aplicabilidade para refinar a atribuição desse perfil. Você pode optar por atribuir ou não atribuir o perfil com base na edição ou na versão do sistema operacional de um dispositivo.

    Para obter mais informações, confira Regras de aplicabilidade em Criar um perfil de dispositivo no Microsoft Intune.

    Selecione Avançar.

  12. Em Examinar + criar, examine as configurações. Quando você seleciona Criar, as alterações são salvas, e o perfil é atribuído. A política também é mostrada na lista de perfis.

Suporte para parceiros terceiros

Os parceiros a seguir fornecem métodos ou ferramentas compatíveis que você pode usar para importar certificados PFX para o Intune.

DigiCert

Se você usar o serviço de Plataforma PKI da DigiCert, poderá usar a Ferramenta de Importação da DigiCert para certificados do Intune S/MIME para importar certificados PFX para o Intune. O uso dessa ferramenta substitui a necessidade de seguir as instruções da seção Importar certificados PFX para o Intune, que foi detalhada anteriormente neste artigo.

Para saber mais sobre a Ferramenta de Importação da DigiCert, incluindo como obtê-la, confira https://knowledge.digicert.com/tutorials/microsoft-intune.html na base de dados de conhecimento da DigiCert.

EverTrust

Se usar o EverTrust como sua solução de PKI, autônoma ou combinada com uma PKI existente, você poderá configurar o EverTrust Horizon para importar certificados PFX para o Intune. Depois de concluir a integração, você não precisará seguir as instruções na seção Importar certificados PFX para o Intune, detalhada anteriormente neste artigo.

Para saber mais sobre a integração do EverTrust com o Intune, consulte https://evertrust.fr/horizon-and-intune-integration/.

KeyTalk

Se você usar o serviço KeyTalk, poderá configurar seu serviço para importar certificados PFX para o Intune. Depois de concluir a integração, você não precisará seguir as instruções na seção Importar Certificados PFX para o Intune, que foi detalhada anteriormente neste artigo.

Para saber mais sobre a integração do KeyTalk com o Intune, confira https://keytalk.com/support na base de dados de conhecimento do KeyTalk.

Próximas etapas

Usar o SCEP para certificados

A interface do usuário do Intune exibe dispositivos Windows Server como distintos dos clientes Windows para o cenário gerenciamento de segurança para Microsoft Defender para Ponto de Extremidade

Para dar suporte ao cenário gerenciamento de segurança para Microsoft Defender para Ponto de Extremidade (configuração de segurança do MDE), o Intune em breve diferenciará dispositivos Windows em Microsoft Entra ID como Windows Server para dispositivos que executam o Windows Server ou como Windows para dispositivos executados Windows 10 ou Windows 11.

Com essa alteração, você poderá melhorar o direcionamento de política para Microsoft Defender para Ponto de Extremidade configuração de segurança. Por exemplo, você poderá usar grupos dinâmicos que consistem apenas em dispositivos Windows Server ou apenas dispositivos cliente Windows (Windows 10/11).