No se puede importar PFX con CERTUTIL: "El conjunto de claves no existe"

No se puede importar PFX con CERTUTIL: "El conjunto de claves no existe"

Tenemos un archivo PFX que cuando se usa en cualquier otro sistema Windows (Server 2008 R2, 7, 8) se instala bien. En 2 de mis servidores, la importación falla así:

CertUtil: -importPFX command FAILED: 0x80090016 (-2146893802) CertUtil: Keyset does not exist

Originalmente importamos este PFX usando el complemento MMC, que parece funcionar, ya que no se informan errores y el certificado muestra que tiene una clave privada cuando se abre, pero con nuestra aplicación .NET recibimos un error acerca de no tener la Llave privada. Asumimos permisos de clave privada y agregamos los permisos correctos para nuestro grupo de aplicaciones. Esto no hizo ninguna diferencia. Hemos importado y eliminado varias veces intentando solucionar este problema.

Ahora hemos notado que el tamaño de los archivos agregados, cuando se realiza una importación a través de MMC, a la C:\ProgramData\Microsoft\Crypto\RSA\MachineKeyscarpeta era de solo 79 kb en los servidores que no funcionan, cuando generalmente se muestran como 2 kb en los sistemas donde sí funcionan.

Hice comprobaciones MD5 en los archivos, así que verifique que sean iguales (lo eran) y también los copié del sistema que no funcionaba (el archivo copiado original no es una exportación) y que todavía funciona en otros lugares.

¿Por qué esto estaría fallando?

Respuesta1

Cada búsqueda en Google que realizamos siempre arrojó la misma respuesta básica, algo relacionado con los permisos de las claves privadas... pero esto se basó en los mensajes de error que estábamos viendo.

Finalmente, localizamos el problema después de usarlo WinHttpCertCfg.exepara Process Monitorregistrar el acceso a las carpetas y al registro.

Cuando uno de nuestros desarrolladores agregó algunos certificados de prueba, también cambió los permisos de seguridad en la C:\ProgramData\Microsoft\Crypto\RSA\MachineKeyscarpeta para que IIS pudiera acceder a la clave privada de los certificados que había importado, en lugar de otorgar permisos a través del complemento Certificados en MMC.

Solo agregó un nuevo permiso y no cambió los existentes, pero esto de alguna manera interrumpió la importación de certificados. Cuando se eliminaron los permisos adicionales, comenzó a funcionar nuevamente.

Dudo mucho que otros tengan el mismo problema, pero pensé que valía la pena responder en lugar de eliminar o cerrar la pregunta, ya que algún día podría ayudar a alguien más.

información relacionada