Buscar

Windows: Certificado no tiene clave privada

Cuando renovamos un certificado digital, puede que en el proceso, perdamos la clave privada en el nuevo certificado.

En ese caso, si el certificado original tenia la clave privada, podremos reparar el certificado nuevo asignando la clave privada del certificado que hemos renovado.

Windows: Certificado no tiene clave privada: Ejemplo del problema


Ejemplo de certificado con la clave privada:

Windows: Certificado no tiene clave privada

Aquí podemos ver que en las propiedades del certificado digital indica:

En ingles:

"You have a private key that corresponds to this certificate"

En español:

"Tiene una clave privada correspondiente a este certificado"

Esto significa que el certificado digital dispone de clave privada.

Ejemplo de certificado sin la clave privada:

Windows: Certificado no tiene clave privada

¿Qué ocurre si el certificado digital no dispone de clave privada?

Windows: Certificado no tiene clave privada: Reparar


Para solucionar el problema, podemos utilizar el siguiente método:

1) Sobre el certificado que no dispone de clave privada:

Buscamos el numero de serie del certificado:

Windows: Certificado no tiene clave privada

2) Listamos los certificados con el comando: certutil

Ejecutamos:

certutil -store My

Identificamos el certificado por el número de serie y nos apuntamos el: "Serial Number"

De hecho, tendría que corresponder el número de serie que hemos obtenido por GUI con el número de serie listado con el comando certutil pero sin los espacios.

Windows: Certificado no tiene clave privada

Hacemos un "copiar-pegar" el "Serial Number" para utilizarlo en el siguiente paso.

3) Ejecutamos la reparación:

Ejecutamos certutil con el parámetro: repairstore utilizando el "Serial Number" obtenido el el paso anterior.

certutil -repairstore my 664b1f64c7d979bd

Ejemplo de ejecución:

Windows: Certificado no tiene clave privada

El resultado es que tendremos el reparado el certificado digital y asignada la clave privada.

---

Sobre la administración de los certificados digitales os recomiendo la lectura de los siguientes posts:

Windows: ¿Dónde se guardan los certificados? (SYSADMIT.com)

Linux: Verificar caducidad certificados (SYSADMIT.com)

Windows: Exportar certificado digital no exportable (SYSADMIT.com)

Linux: SSL PFX de IIS a Apache (SYSADMIT.com)

10 comentarios:

  1. Muy interesante, crees que se podría utilizar para exportar un certificado marcado como no exportable, primero exportando sin clave privada y luego haciendo este procedimiento?. un saludo.

    ResponderEliminar
    Respuestas
    1. Hola Angel,

      Para exportar un certificado marcado como no exportable, puedes utilizar los métodos indicados en este post:

      https://www.sysadmit.com/2017/10/windows-exportar-certificado-digital-no-exportable.html

      Un saludo,

      Xavi.

      Eliminar
  2. Buenos días,
    Y si al hacer el proceso de certutil -repairstore my "clave" te pide una tarjeta inteligente?

    Muchas Gracias

    ResponderEliminar
    Respuestas
    1. No me ha pasado nunca, no te se decir. Si descubres la solución al problema, indícala con un comentario, así ayudará a otras personas que les haya sucedido.

      Un saludo,

      Xavi.

      Eliminar
  3. Que hacer si al ejecutar certutil -store my no sale ningún certificado bajo personal?

    ResponderEliminar
    Respuestas
    1. Hola,

      Puedes tratar de revisar con la consola MMC de certificados donde está el certificado que buscas.

      Un saludo,

      Xavi.

      Eliminar
  4. Buenos días, es el segundo post que he visto, pero no consigo solucionar mi problema, me aparece lo siguiente:

    C:\WINDOWS\system32>certutil -store My
    My "Personal"
    CertUtil: -store command completed successfully.

    C:\WINDOWS\system32>certutil -repairstore my 9182f8c45b8d129e48b85e7f7c91a4ac
    my "Personal"
    CertUtil: -repairstore command FAILED: 0x80090011 (-2146893807 NTE_NOT_FOUND)
    CertUtil: Object was not found.

    Un saludo,
    Adrian

    ResponderEliminar
    Respuestas
    1. Hola Adrian,

      Al ejecutar: certutil -store My, te aparece el certificado, con su número de serie, ¿verdad?

      Un saludo,

      Xavi.

      Eliminar
  5. Muchas gracias! Nos ha funcionado correctamente. Ahora nos quedará averiguar el porqué hay veces que esto ocurre.

    ResponderEliminar