privada marcada hacer habilitar exportar exportacion exportable con como clave certificado .net encryption bouncycastle rsacryptoserviceprovider

.net - marcada - habilitar exportacion clave privada certificado



Cómo exportar una clave privada no exportable de la tienda (6)

Necesito exportar la clave privada desde la tienda de Windows. ¿Qué debo hacer si la clave está marcada como no exportable? Sé que es posible, el programa jailbreak puede exportar esta clave.

Para exportar la clave, utilizo Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair() que exporta la clave desde (RSACryptoServiceProvider)cryptoProv.ExportParameters(true) . La clave exportada que uso en Org.BouncyCastle.Cms.CmsSignedDataGenerator para la firma de CMS.

Necesito una solución para .Net, pero cualquier solución será útil. Gracias.


Desafortunadamente, la herramienta mencionada anteriormente está bloqueada por varios proveedores de antivirus. Si este es el caso para usted, eche un vistazo a lo siguiente.

Abra el certificado no exportable en la tienda de certificados y ubique el valor de Huella digital.

A continuación, abra regedit en la ruta siguiente y busque la clave de registro que coincida con el valor de la huella digital.

Una exportación de la clave de registro contendrá el certificado completo, incluida la clave privada. Una vez exportado, copie la exportación al otro servidor e impórtelo al registro.

El certificado aparecerá en el administrador de certificados con la clave privada incluida.

Machine Store: HKLM / SOFTWARE / Microsoft / SystemCertificates / MY / Certificados Tienda de usuario: HKCU / SOFTWARE / Microsoft / SystemCertificates / MY / Certificates

En un apuro, puede guardar la exportación como una copia de seguridad del certificado.


Esto funcionó para mí en Windows Server 2012: necesitaba exportar un certificado no exportable para configurar otro servidor ADFS y esto funcionó. Recuerde utilizar las instrucciones de jailbreak anteriores, es decir:

crypto :: certificates / export / systemstore: CERT_SYSTEM_STORE_LOCAL_MACHINE


La answer Gentil Kiwi es correcta. Desarrolló esta herramienta mimikatz que es capaz de recuperar claves privadas no exportables.

Sin embargo, sus instrucciones están desactualizadas. Necesitas:

  1. Descargue la última versión de https://github.com/gentilkiwi/mimikatz/releases

  2. Ejecute el cmd con derechos de administrador en la misma máquina donde se solicitó el certificado

  3. Cambie al directorio mimikatz bin (versión Win32 o x64)

  4. Ejecutar mimikatz

  5. Siga las instrucciones de la wiki y el archivo .pfx (protegido con contraseña mimikatz ) se colocará en la misma carpeta de la bandeja mimikatz

mimikatz # crypto :: capi
Local CryptoAPI parchado

mimikatz # privilege :: depuración
Privilege ''20'' OK

mimikatz # crypto :: cng
Servicio "KeyIso" parchado

mimikatz # crypto :: certificates / systemtore: local_machine / store: my / export
* Almacén del sistema: ''local_machine'' (0x00020000)
* Tienda: ''mi''

  1. example.domain.local
    Contenedor clave: example.domain.local
    Proveedor: proveedor de almacenamiento de claves de software de Microsoft
    Tipo: Clave de CNG (0xffffffff)
    Clave exportable: NO
    Tamaño de la llave: 2048
    Exportación pública: OK - ''local_machine_my_0_example.domain.local.der''
    Exportación privada: OK - ''local_machine_my_0_example.domain.local.pfx''

No hay API de la que tenga conocimiento para exportar claves privadas de Windows marcadas como "no exportables" en su creación. Puede haber varios hacks, pero sus detalles probablemente cambien de una versión del sistema a otra sin previo aviso.


Quería mencionar específicamente Jailbreak ( GitHub ) :

Fuga

Jailbreak es una herramienta para exportar certificados marcados como no exportables desde el almacén de certificados de Windows. Esto puede ser útil cuando necesite extraer certificados para copias de seguridad o pruebas. Debe tener acceso completo a la clave privada en el sistema de archivos para que jailbreak funcione.

Prerrequisitos: Win32


Tiene razón, no hay API en absoluto que sepa que debo exportar la clave privada marcada como no exportable. Pero si aplica parches (en memoria) a las API normales, puede usar la forma normal de exportar :)

Hay una nueva versión de mimikatz que también admite GNC Export (Windows Vista / 7/2008 ...)

  1. descargar (y ejecutar con privilegios administrativos): http://blog.gentilkiwi.com/mimikatz (versión troncal o última versión)

Ejecútelo e ingrese los siguientes comandos en su mensaje:

  1. privilege::debug (a menos que ya lo tenga o solo apunte a CryptoApi)
  2. crypto::patchcng (nt 6) y / o crypto::patchcapi (nt 5 y 6)
  3. crypto::exportCertificates y / o crypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE

Los archivos .pfx son contraseñas protegidas "mimikatz"