Publicado el
5 de junio de 2024
La exportación de una clave privada RSA del Almacén de Certificados de Windows puede ser esencial para diversas tareas administrativas y de seguridad, especialmente en entornos donde OpenSSL no está disponible. Esta guía tiene como objetivo proporcionar un proceso claro, paso a paso, para exportar una clave privada RSA de una máquina que ejecuta Windows. Es importante señalar que, para que este procedimiento sea exitoso, el certificado en cuestión debe haber sido importado al Almacén de Certificados de Windows con la opción "Marcar la clave privada como exportable" habilitada. Seguir esta guía garantizará que pueda gestionar sus claves criptográficas de forma segura y eficiente sin necesidad de software adicional.
Pero antes de sumergirse en el proceso, tenga en cuenta que esta guía requerirá que tenga derechos de administrador local en la máquina.
Después de confirmar esto, siga los siguientes pasos:
Pasos para exportar una clave privada RSA del Almacén de Certificados de Windows
Paso 1: Abra un símbolo del sistema PowerShell elevado
Paso 2: Recupere la huella digital del certificado que desea exportar con el siguiente comando. Ejemplo si el certificado está en el almacén de certificados de su máquina personal:
dir cert:\LocalMachine\My
Paso 3: Cree un objeto de certificado en el indicador de PowerShell basado en la huella digital de su certificado con el siguiente comando:
¿Desea implementar estas prácticas PKI?
Obtenga orientación experta para implementar soluciones PKI seguras para su organización.
Obtener ayuda experta$cert = Get-ChildItem Cert:\LocalMachine\My | ? {$_.Thumbprint -eq '<THUMBPRINT_OF_CERTIFICATE_FROM_STEP_2>'}
Paso 4: Lea la clave privada RSA en un objeto RSA CNG:
$RSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Paso 5: Lea los bytes de la clave privada:
$KeyBytes = $RSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob)
Paso 6: Codifique los bytes de la clave en formato Base64:
$KeyBase64 = [System.Convert]::ToBase64String($KeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks)
Paso 7: Muestre la clave privada en formato PEM en el indicador de comandos de PowerShell:
$KeyPem = @" -----BEGIN PRIVATE KEY----- $KeyBase64 -----END PRIVATE KEY----- "@ $KeyPem
Conclusión
Exportar con éxito una clave privada RSA del almacén de certificados de Windows es una habilidad crucial para administradores de sistemas y profesionales de seguridad que necesitan gestionar claves criptográficas sin depender de herramientas externas como OpenSSL. Al asegurarse de que el certificado se importó inicialmente con la opción “Marcar clave privada como exportable” habilitada, puede seguir un proceso simplificado para recuperar de forma segura la clave privada. Esta capacidad no solo aumenta su flexibilidad en la gestión de claves, sino que también refuerza la importancia de una gestión y configuración adecuadas de los certificados desde el principio. Con esta guía, ahora posee el conocimiento necesario para exportar con confianza claves privadas RSA cuando sea necesario, manteniendo la integridad y seguridad de su infraestructura criptográfica.