timestamp windows-xp certificate digital-signature burn

timestamp - Marca de tiempo de firma digital "no disponible" en XP/Vista, lo que provoca un error de verificación



windows-xp certificate (2)

Parece que hay dos tipos de contrafirma de marca de tiempo que se pueden usar para la firma de código de Windows (Authenticode):

  • Propietario : resultados en V1 en el campo Versión (versión PKCS # 7?) De las propiedades de contrafirma
  • Basado en RFC 3161: resultados en V2

No he encontrado ninguna documentación que indique esto explícitamente, pero a través de las pruebas parece que Windows XP (SP3, con todas las actualizaciones instaladas) solo admite marcas de tiempo con la versión V1 . Las marcas de tiempo con la versión V2 dan como resultado el estado "no disponible". Por supuesto, los números de versión podrían correlacionarse con los resultados; posiblemente haya otro aspecto de la marca de tiempo que haga que se ignore.

El archivo ReportViewer MSI que está actualmente disponible tiene una marca de tiempo V2 . Sin embargo, la marca de tiempo también se realizó en julio de 2014, después de que se publicó esta pregunta.

Más antecedentes:

El comando de signtool Windows SDK admite dos opciones (a los subcomandos de sign y timestamp ) para generar los dos tipos de marcas de tiempo diferentes:

  • /t <timestamp server URL> : resultados en V1
  • /tr <RFC 3161 timestamp server URL> : resultados en V2

La documentación de signtool para /tr establece:

Windows Vista y versiones anteriores: esta bandera no es compatible.

Sin embargo, parece poco claro (debido a la forma en que se utilizan declaraciones similares en otras opciones) si esto se aplica al sistema de destino o al sistema en el que se está ejecutando signtool .

Ejemplos

V1 tiempo V1 :

signtool.exe sign /f cert.pfx /p %passphrase% /t http://timestamp.comodoca.com/authenticode /d "Test" test.exe

V2 tiempo V2 :

signtool.exe sign /f cert.pfx /p %passphrase% /tr http://timestamp.comodoca.com/rfc3161 /d "Test" test-rfc3161.exe

Fondo

Tengo un paquete de instalación de WiX / Burn que, entre otras cosas, instala ReportViewer 2012 Runtime. Cuando se ejecuta en una máquina con Windows 7 o posterior, funciona bien. En XP (SP3) o Vista (SP1) falla.

Ahora, al revisar la página de descarga de ReportViewer redistribuible , me doy cuenta de que dice que requiere Vista SP2 o superior. Normalmente, aceptaría esto, pero a) Creo que esto ha cambiado recientemente, yb) descargando e instalando manualmente estas obras redistribuibles. Es posible que haya partes que no funcionan en XP / Vista, pero para mis propósitos y propósitos se instala y funciona bastante bien a pesar de sus afirmaciones.

Problema

El examen del archivo de registro de instalación explica que la verificación de firma digital falló. Entonces descargo manualmente el paquete redistribuible en la máquina con Windows XP y examino su firma. La firma está allí, pero la marca de tiempo informa "No disponible". Al tocar Detalles también me dice que el tiempo de firma es "No disponible". El archivo está firmado por un certificado caducado, por lo que, naturalmente, la verificación falla sin esta marca de tiempo.

Sin embargo, si descargo el mismo archivo a una máquina con Windows 7, la marca de tiempo está presente. Al tocar Detalles, se muestra el contrafirma, los trabajos de verificación y la instalación se realizan correctamente.

Lo que he intentado

He instalado varias versiones diferentes de la "Actualización de certificados raíz" en vano, incluida la última . Si esta es realmente la solución, díganme cuál necesito.

He seguido la cadena de certificados con la contrafirma y termina en "Microsoft Root Certificate Authority 2010". Este certificado raíz parece estar instalado en la máquina XP. Lo único que puedo ver es que la versión "2011" de este certificado también está en la tienda "Autoridades de certificación raíz de terceros", mientras que 2010 no. No sé si esta es la causa del problema o normal.

Eventualmente, puedo recurrir a la desactivación de la verificación de firmas y al uso de la verificación de la carga útil basada en hash. Sin embargo, antes de hacer esto, me gustaría saber si me he perdido algo obvio.

Mi pregunta

¿Hay una actualización para descargar o un paso que puedan tomar los usuarios "normales" que permita reconocer la marca de tiempo / contrafirma en XP / Vista? Los usuarios "normales" aquí significan alguien que no sabe mucho de informática; No me refiero a los derechos de administrador.


Es difícil decirlo exactamente, pero parece que esto puede estar relacionado con http://technet.microsoft.com/en-us/security/advisory/2749655

Por RFC3280, las extensiones de Uso de clave mejorada (EKU) de marca de tiempo se utilizan para vincular el hash de un objeto a un tiempo. Estas declaraciones firmadas muestran que una firma existió en un punto particular en el tiempo. Se usan en situaciones de integridad de código cuando el certificado de firma de código ha expirado, para verificar que la firma se realizó antes de que expirara el certificado. Este problema se debe a la falta de una extensión de Uso de la clave mejorada (EKU) de la marca de tiempo durante la generación del certificado y la firma de los componentes principales y el software de Microsoft. Algunos certificados utilizados durante dos meses de 2012 no contenían una extensión X.509 timestamp Enhanced Key Usage (EKU).

No me sorprendería que un error como "timestamp no disponible" se daría incluso si la firma incluye una marca de tiempo cuando el certificado no contiene una EKU de fecha y hora, porque en cierto nivel ese es el caso y los mensajes de error a menudo carecen de este tipo de detalle.

¿Ha aplicado las actualizaciones desde http://support.microsoft.com/kb/2749655 ?

¿Qué hace esta actualización?

Esta actualización ayudará a garantizar la funcionalidad continua de todo el software que se firmó con un certificado específico que no usó una extensión de uso de clave mejorada (EKU) de marca de tiempo. Para extender su funcionalidad, WinVerifyTrust ignorará la falta de una EKU de marca de tiempo para estas firmas X.509 específicas.