DigestInfo no está en un CSR cuando SHA-1 se utiliza en un algoritmo de firma

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 3080171
Síntomas
Cuando utiliza la herramienta certutil.exe para comprobar las solicitudes de firma de certificado (CSR), certutil.exe devuelve el siguiente mensaje, incluso aunque el CSR contienen pocos valor con signo hash (sin la estructura ASN.1 DigestInfo):
Firma coincida con la clave pública

Notas:
  • Certutil.exe no debe validar los CSR con sólo un valor hash con signo, porque la estructura esperada de ASN.1 DigestInfo contiene más de sólo datos de hash.
  • Otras herramientas, como openssl, marcan el CSR como no válida.
Este problema se produce cuando se utiliza SHA-1 en un algoritmo de firma, como "1.2.840.113549.1.1.5 sha1RSA."

Cuando se firma CSR mediante SHA-2, como en "1.2.840.113549.1.1.11 sha256RSA," certutil.exe devuelve el siguiente error esperado:

0XC000A000 (NT: 0XC000A000 STATUS_INVALID_SIGNATURE)

Nota: Este problema está limitado a las firmas que se crean mediante SHA-1.
Causa
Este problema produce debido a los diferentes métodos que CAPI2uses para interactuar con los componentes subyacentes de la pila de CryptoAPI. Los métodos son las siguientes:
  • CAPI 2 utiliza 1 de API de criptografía (CAPI 1) heredados para SHA-1 y CAPI 1allows el DigestInfo que falta.
  • CAPI 2 utiliza criptografía API de próxima generación (CNG) para SHA-2 y CNG permite DigestInfo que faltan.
Nota: Aunque este artículo describe sólo los problemas que se producen cuando se utiliza certutil.exe, cualquier aplicación que utilice CryptoAPI funcionan exactamente igual certutil.exe.
Más información

Comprobar un CSR que se firme con "1.2.840.113549.1.1.5 sha1RSA" y sin DigestInfo:

PKCS10 Certificate Request: Version: 1 Subject: CN=Test User Signature Algorithm: Algorithm ObjectId: 1.2.840.113549.1.1.5 sha1RSA Algorithm Parameters: 05 00 Signature: UnusedBits=0 0000 88 fc ea 9b cb 35 17 b8 3c 4a be e1 c9 94 23 e3 00f0 71 5c 8f 81 5f 24 bd af 4b 00 ea e2 b4 08 6f 3f Signature matches Public Key Key Id Hash(rfc-sha1): b3 1c 76 1c d9 67 d2 8d 62 15 4a 1c 47 4d dd a6 65 03 9d 5d Key Id Hash(sha1): fb b1 8f 14 39 5c fb 63 81 90 56 e8 37 e1 9b bd e2 a6 79 64 CertUtil: -dump command completed successfully. 

Comprobar un CSR que se firme con "1.2.840.113549.1.1.11 sha256RSA" y sin DigestInfo:

PKCS10 Certificate Request: Version: 1 Subject: CN=Test User Signature Algorithm: Algorithm ObjectId: 1.2.840.113549.1.1.11 sha256RSA Algorithm Parameters: 05 00 Signature: UnusedBits=0 0000 2c 23 b3 36 f4 10 10 94 99 02 95 8f 64 1d 71 0c 00f0 6c f4 13 ae 0e 6b b1 ef c4 1e 10 c0 1f 34 4d 16 Signature does not match Public key: c000a000 Cannot decode object: The cryptographic signature is invalid. 0xc000a000 (NT: 0xc000a000 STATUS_INVALID_SIGNATURE) CertUtil: -dump command FAILED: 0xc000a000 (NT: 0xc000a000 STATUS_INVALID_SIGNATURE) CertUtil: The cryptographic signature is invalid. 


Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 3080171 - Última revisión: 12/03/2015 10:30:00 - Revisión: 2.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Foundation, Windows Server 2012 R2 Essentials, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1

  • kbsurveynew kbexpertiseadvanced kbprb kbtshoot kbmt KB3080171 KbMtes
Comentarios