Configuración y uso de certificados PKCS importados con Intune

Microsoft Intune admite el uso de certificados de pares de claves públicas (PKCS) importados, que se suelen usar para el cifrado S/MIME con perfiles de correo electrónico. Algunos perfiles de correo electrónico de Intune admiten una opción para habilitar S/MIME, donde puede definir un certificado de firma S/MIME y el certificado de cifrado S/MIME.

Importante

Como se ha anunciado en este blog de Microsoft Tech Community, la compatibilidad con la biblioteca de autenticación de Azure Active Directory (ADAL) finaliza en diciembre de 2022. Para que los scripts de PowerShell o el código personalizado sigan funcionando para importar certificados PFX de usuario a Intune, deben actualizarse para aprovechar la biblioteca de autenticación de Microsoft (MSAL). Además, el identificador de aplicación global de Intune debe actualizarse con el identificador único de aplicación (cliente) asignado a la aplicación después de registrarlo en Microsoft Entra ID para evitar problemas de autenticación futuros.

En GitHub, el script de PowerShell de ejemplo para ayudar a simplificar la importación de certificados PFX se ha actualizado para hacer referencia a MSAL y al identificador de aplicación Microsoft Entra (cliente). Los ejemplos de script de este artículo también se actualizan cuando corresponda.

Para obtener más información, vea el archivo Léame del proyecto de PowerShell PFXImport en GitHub y descargue el script de ejemplo actualizado.

El cifrado S/MIME es complejo porque el correo electrónico está cifrado con un certificado específico:

  • Debe tener la clave privada del certificado que cifró el correo electrónico en el dispositivo en el que lee el correo electrónico para que se pueda descifrar.
  • Antes de que expire un certificado de un dispositivo, debe importar un nuevo certificado para que los dispositivos puedan continuar descifrando el correo electrónico nuevo. No se permite la renovación de estos certificados.
  • Los certificados de cifrado se renuevan con regularidad, lo que significa que es posible que quiera conservar el certificado anterior en los dispositivos para asegurarse de que el correo electrónico antiguo se pueda seguir descifrando.

Dado que se debe usar el mismo certificado en todos los dispositivos, no es posible usar perfiles de certificado SCEP o PKCS para este propósito, ya que los mecanismos de entrega de certificados proporcionan certificados únicos por dispositivo.

Para más información sobre el uso de S/MIME con Intune, consulte Uso de S/MIME para cifrar el correo electrónico.

Plataformas compatibles

Intune admite la importación de certificados PFX para las plataformas siguientes:

  • Administrador de dispositivos Android
  • Android Enterprise:
    • Totalmente administrado
    • Perfil de trabajo de propiedad corporativa
    • Perfil de trabajo de propiedad personal
  • iOS/iPadOS
  • macOS
  • Windows 10/11

Importante

Microsoft Intune está finalizando la compatibilidad con la administración del administrador de dispositivos Android en dispositivos con acceso a Google Mobile Services (GMS) el 30 de agosto de 2024. Después de esa fecha, la inscripción de dispositivos, el soporte técnico, las correcciones de errores y las correcciones de seguridad no estarán disponibles. Si actualmente usa la administración del administrador de dispositivos, se recomienda cambiar a otra opción de administración de Android en Intune antes de que finalice el soporte técnico. Para obtener más información, consulte Finalización de la compatibilidad con el administrador de dispositivos Android en dispositivos GMS.

Requisitos

Para usar certificados PKCS importados con Intune, debe contar con esta infraestructura:

  • Certificate Connector para Microsoft Intune:

    El conector de certificados controla las solicitudes de archivos PFX importados en Intune para el cifrado de correo electrónico S/MIME para un usuario específico. Asegúrese de que cada conector que instale tenga acceso a la clave privada que se usa para cifrar las contraseñas de los archivos PFX cargados.

    Para obtener información sobre el conector de certificados, vea lo siguiente:

  • Windows Server:

    El conector de certificados se instala en una instancia de Windows Server que cumple los requisitos previos del conector.

  • Visual Studio 2015 o posterior (opcional):

    Use Visual Studio para compilar el módulo asistente de PowerShell con cmdlets para la importación de certificados PFX en Microsoft Intune. Para obtener los cmdlets de PowerShell del asistente, consulte PFXImport PowerShell Project en GitHub.

Funcionamiento

Al utilizar Intune para implementar un certificado PFX importado para un usuario, hay dos componentes en juego además del dispositivo:

  • Servicio de Intune: almacena los certificados PFX en un estado cifrado y controla la implementación del certificado en el dispositivo del usuario. Las contraseñas que protegen las claves privadas de los certificados se cifran antes de que se carguen mediante un módulo de seguridad de hardware (HSM) o la criptografía de Windows, asegurándose de que Intune no pueda acceder a la clave privada en ningún momento.

  • Certificate Connector para Microsoft Intune: cuando un dispositivo solicita un certificado PFX que se ha importado en Intune, la contraseña cifrada, el certificado y la clave pública del dispositivo se envían al conector. El conector descifra la contraseña mediante la clave privada local y, a continuación, vuelve a cifrar la contraseña (y cualquier perfil de archivo plist si usa iOS) con la clave del dispositivo antes de volver a enviar el certificado a Intune. Intune envía entonces el certificado al dispositivo y este lo descifra con la clave privada del dispositivo e instala el certificado.

Importación de certificados PFX en Intune

Use Microsoft Graph para importar los certificados PFX de los usuarios en Intune. El asistente PFXImport PowerShell Project en GitHub proporciona cmdlets para realizar las operaciones con facilidad.

Si prefiere usar su propia solución personalizada con Graph, use el tipo de recurso userPFXCertificate.

Compilación de cmdlets de "PFXImport PowerShell Project"

Para usar los cmdlets de PowerShell, puede compilar el proyecto con Visual Studio. El proceso es sencillo y, mientras puede ejecutarse en el servidor, se recomienda ejecutarlo en la estación de trabajo.

  1. Vaya a la raíz del repositorio Intune-Resource-Access en GitHub y, a continuación, descargue o clone el repositorio con Git en la máquina.

    Botón de descarga de GitHub

  2. Vaya a .\Intune-Resource-Access-develop\src\PFXImportPowershell\ y abra el proyecto con Visual Studio mediante el archivo PFXImportPS.sln.

  3. En la parte superior, cambie de Depurar a Liberar.

  4. Vaya a Compilar y seleccione Build PFXImportPS. En unos instantes, verá la confirmación De compilación correcta en la parte inferior izquierda de Visual Studio.

    Opción de compilación de Visual Studio

  5. En el proceso de compilación se crea una nueva carpeta con el módulo de PowerShell en .\Intune-Resource-Access-develop\src\PFXImportPowershell\PFXImportPS\bin\Release.

    Usará la carpeta Release para los pasos siguientes.

Creación de la clave pública de cifrado

Importe los certificados PFX y sus claves privadas a Intune. La contraseña que protege la clave privada se cifra con una clave pública, que se almacena de forma local. Puede usar la criptografía de Windows, un módulo de seguridad de hardware u otro tipo de criptografía para generar y almacenar los pares de claves pública y privada. Según el tipo de cifrado utilizado, el par de claves pública y privada se puede exportar en un formato de archivo para realizar copias de seguridad.

El módulo de PowerShell proporciona métodos para crear una clave mediante la criptografía de Windows. También puede usar otras herramientas para crear una clave.

Para crear la clave de cifrado mediante la criptografía de Windows

  1. Copie la carpeta Release creada por Visual Studio en el servidor donde ha instalado Certificate Connector para Microsoft Intune. Este carpeta contiene el módulo de PowerShell.

  2. En el servidor, abra PowerShell como administrador y vaya a la carpeta Release que contiene el módulo de PowerShell.

  3. Para importar el módulo, ejecute Import-Module .\IntunePfxImport.psd1.

  4. A continuación, ejecute Add-IntuneKspKey -ProviderName "Microsoft Software Key Storage Provider" -KeyName "PFXEncryptionKey".

    Sugerencia

    El proveedor que usa debe volver a seleccionarse al importar los certificados PFX. Puede utilizar el proveedor de almacenamiento de claves de software de Microsoft, aunque también puede usar otro proveedor. Como ejemplo, también se proporciona el nombre de clave y puede usar el nombre de clave diferente de su elección.

    Si tiene previsto importar el certificado desde la estación de trabajo, puede exportar esta clave a un archivo con el siguiente comando: Export-IntunePublicKey -ProviderName "<ProviderName>" -KeyName "<KeyName>" -FilePath "<File path\Filename.PFX>"

    Se debe importar la clave privada en todos los servidores en los que se hospede Certificate Connector para Microsoft Intune para que los certificados PFX importados se puedan procesar correctamente.

Para usar un módulo de seguridad de hardware (HSM)

Puede usar un módulo de seguridad de hardware (HSM) para generar y almacenar el par de claves pública y privada. Para más información, consulte la documentación del proveedor de HSM.

Importación de certificados PFX

En el proceso siguiente se usan los cmdlets de PowerShell como ejemplo de cómo importar los certificados PFX. Puede elegir distintas opciones en función de sus necesidades.

Entre las opciones se incluyen:

  • Propósito planteado (agrupa los certificados basados en una etiqueta):

    • unassigned
    • smimeEncryption
    • smimeSigning
  • Esquema de relleno:

    • oaepSha256
    • oaepSha384
    • oaepSha512

Seleccione el proveedor de almacenamiento de claves que coincida con el proveedor que utilizó para crear la clave.

Para importar el certificado PFX

  1. Exporte los certificados desde cualquier entidad de certificación siguiendo la documentación del proveedor. Para los Servicios de certificados de Microsoft Active Directory, puede usar este script de ejemplo.

  2. En el servidor, abra PowerShell como administrador y vaya a la carpeta Release que contiene el módulo de PowerShell IntunePfxImport.psd1.

    Nota:

    Se deben realizar los siguientes cambios para los inquilinos de GCC High y DoD antes de ejecutar IntunePfxImport.psd1.

    Use un editor de texto o PowerShell ISE para editar el archivo. De este modo se actualizan los puntos de conexión de servicio para el entorno GCC High. Tenga en cuenta que estas actualizaciones cambian los URI, que pasan de tener un sufijo .com a .us. Hay un total de dos actualizaciones en IntunePfxImport.psd1. Una para AuthURI y la 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
        }
    

    Después de guardar los cambios, reinicie PowerShell.

  3. Para importar el módulo, ejecute Import-Module .\IntunePfxImport.psd1

  4. Para autenticarse en Graph de Intune, ejecute Set-IntuneAuthenticationToken -AdminUserName "<Admin-UPN>".

    Nota:

    Como la autenticación se ejecuta en Graph, debe proporcionar permisos a AppID. Si es la primera vez que usa esta utilidad, se requiere un administrador global. Los cmdlets de PowerShell usan el mismo AppID que el que se usa con los ejemplos de Intune de PowerShell.

  5. Convierta la contraseña de cada archivo PFX que se va a importar en una cadena segura mediante la ejecución de $SecureFilePassword = ConvertTo-SecureString -String "<PFXPassword>" -AsPlainText -Force.

  6. Para crear un objeto UserPFXCertificate, ejecute $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathPFXToCert>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>"

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

    Nota:

    Cuando importe el certificado desde un sistema que no sea el servidor en el que está instalado el conector, tiene que usar el comando siguiente, que incluye la ruta de acceso del archivo de claves: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathToPFX>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>" "<PaddingScheme>" "<File path to public key file>"

    El valor VPN no se admite como IntendedPurpose.

  7. Importe el objeto UserPFXCertificate a Intune mediante la ejecución de Import-IntuneUserPfxCertificate -CertificateList $userPFXObject

  8. Para validar que el certificado se ha importado, ejecute Get-IntuneUserPfxCertificate -UserList "<UserUPN>"

  9. Como procedimiento recomendado para limpiar la memoria caché de tokens de Microsoft Entra sin esperar a que expire por su cuenta, ejecuteRemove-IntuneAuthenticationToken

Para más información sobre otros comandos disponibles, consulte el archivo Léame en PFXImport PowerShell Project en GitHub.

Creación de un perfil de certificado PKCS importado

Después de importar los certificados a Intune, cree un perfil de certificado PKCS importado y asígnelo a Microsoft Entra grupos.

Nota:

Después de crear un perfil de certificado PKCS importado, los valores Propósito planteado y Proveedor de almacenamiento de claves (KSP) del perfil son de solo lectura y no se pueden editar. Si necesita un valor diferente para cualquiera de estas opciones, cree e implemente un nuevo perfil.

  1. Inicie sesión en el Centro de administración de Microsoft Intune.

  2. Seleccione y vaya aCreaciónde configuración de>dispositivos>.

  3. Escriba las propiedades siguientes:

    • Plataforma: seleccione la plataforma de los dispositivos.
    • Perfil: seleccione Certificado PKCS importado. O bien, seleccione Plantillas>Certificado PKCS importado.
  4. Seleccione Crear.

  5. En Básico, escriba las propiedades siguientes:

    • Nombre: escriba un nombre descriptivo para el perfil. Asígnele un nombre a los perfiles para que pueda identificarlos de manera sencilla más adelante. Por ejemplo, un buen nombre de perfil es Perfil de certificado PKCS importado en toda la empresa.
    • Descripción: escriba una descripción para el perfil. Esta configuración es opcional pero recomendada.
  6. Seleccione Siguiente.

  7. En Opciones de configuración, escriba las siguientes propiedades:

    • Propósito planteado: especifique el propósito planteado de los certificados que se importan para este perfil. Los administradores pueden importar los certificados con otros propósitos planteados (como firma S/MIME o cifrado S/MIME). El propósito planteado seleccionado en el perfil de certificado coincide con el perfil de certificado con los certificados importados adecuados. El propósito planteado es una etiqueta para agrupar los certificados importados y no garantiza que los certificados importados con esa etiqueta cumplan dicho propósito.

    • Proveedor de almacenamiento de claves (KSP): para Windows, seleccione dónde quiere almacenar las claves en el dispositivo.

  8. Este paso solo se aplica a los perfiles de dispositivos Android Enterprise para el perfil de trabajo totalmente administrado, dedicado y Corporate-Owned.

    En Aplicaciones, configure El acceso al certificado para administrar cómo se concede el acceso al certificado a las aplicaciones. Elija entre:

    • Requerir aprobación de usuario para aplicaciones(valor predeterminado): los usuarios deben aprobar el uso de un certificado por todas las aplicaciones.
    • Conceder de forma silenciosa para aplicaciones específicas (requerir la aprobación del usuario para otras aplicaciones): con esta opción, seleccione Agregar aplicaciones y, a continuación, seleccione una o varias aplicaciones que usarán de forma silenciosa el certificado sin interacción del usuario.
  9. Seleccione Siguiente.

  10. En Asignaciones, seleccione el usuario o los grupos que van a recibir el perfil. Para obtener más información sobre la asignación de perfiles, vea Asignación de perfiles de usuario y dispositivo.

    Seleccione Siguiente.

  11. ( Se aplica solo a Windows 10/11) En Reglas de aplicabilidad, especifique reglas de aplicabilidad para refinar la asignación de este perfil. Puede elegir asignar o no asignar el perfil en función de la edición del sistema operativo o la versión de un dispositivo.

    Para más información, consulte Reglas de aplicabilidad en Creación de un perfil de dispositivo en Microsoft Intune.

    Seleccione Siguiente.

  12. En Revisar y crear, revise la configuración. Si selecciona Crear, se guardan los cambios y se asigna el perfil. La directiva también se muestra en la lista de perfiles.

Compatibilidad con asociados de terceros

Los siguientes asociados proporcionan métodos o herramientas compatibles que puede usar para importar certificados PFX en Intune.

DigiCert

Si usa el servicio de la plataforma PKI DigiCert, puede usar la herramienta de importación de certificados S/MIME para Intune de DigiCert con el fin de importar los certificados PFX en Intune. El uso de esta herramienta permite obviar las instrucciones de la sección Importación de certificados PFX en Intune que se detallaron anteriormente en este artículo.

Para obtener más información sobre la herramienta de importación de DigiCert y cómo obtenerla, consulte https://knowledge.digicert.com/tutorials/microsoft-intune.html en la base de conocimiento de DigiCert.

EverTrust

Si usa EverTrust como solución PKI, independiente o combinada con una PKI existente, puede configurar EverTrust Horizon para importar certificados PFX a Intune. Tras finalizar la integración, no necesitará seguir las instrucciones de la sección Importación de certificados PFX en Intune que se detallaron anteriormente en este artículo.

Para obtener más información sobre la integración de EverTrust con Intune, consulte https://evertrust.fr/horizon-and-intune-integration/.

KeyTalk

Si usa el servicio KeyTalk, puede configurarlo para importar los certificados PFX a Intune. Tras finalizar la integración, no necesitará seguir las instrucciones de la sección Importación de certificados PFX en Intune que se detallaron anteriormente en este artículo.

Para más información sobre la integración de KeyTalk con Intune, consulte https://keytalk.com/support en la base de conocimiento de KeyTalk.

Siguientes pasos

Uso de SCEP para los certificados

La interfaz de usuario de Intune muestra los dispositivos de Windows Server como distintos de los clientes de Windows para el escenario de administración de seguridad para Microsoft Defender para punto de conexión

Para admitir el escenario de administración de seguridad para Microsoft Defender para punto de conexión (configuración de seguridad de MDE), Intune pronto diferenciará los dispositivos Windows de Microsoft Entra ID como Windows Server para los dispositivos que ejecutan Windows Server o como Windows para los dispositivos que se ejecutan Windows 10 o Windows 11.

Con este cambio, podrá mejorar la segmentación de directivas para Microsoft Defender para punto de conexión configuración de seguridad. Por ejemplo, podrá usar grupos dinámicos que constan solo de dispositivos Windows Server o solo dispositivos cliente de Windows (Windows 10/11).