2012-06-18 20 views
7

Estoy tratando de crear un certificado de prueba y firmar un archivo .MSI que he creado. Necesito que la versión de prueba funcione con un .MSI firmado antes de que podamos comprar un certificado de seguridad real.Publisher Desconocido después de ejecutar con éxito signTool

Realicé los siguientes pasos para firmar mi archivo .MSI. Todo se completa con éxito y muestra un mensaje de que 1 archivo se firmó correctamente después del último paso.

makecert.exe -sv c:\Test\mykey.pvk -n "CN=WTS" c:\Test\myCert.cer 

cert2spc.exe c:\Test\mycert.cer c:\Test\mycert.spc 

pvk2pfx -pvk c:\Test\mykey.pvk -pi password -spc c:\Test\mycert.spc -pfx c:\Test\mycert.pfx -po password 

signTool sign /f c:\Test\mycert.pfx /p password /v c:\Test\test.msi 

Después de realizar estos pasos, que ejecute el archivo MSI (la fecha de modificación de la MSI no cambiará para coincidir con el momento en que el paso SignTool se corrió). El mensaje de advertencia que indica que .MSI es de un editor desconocido todavía se muestra como "Publisher: Unknown".

¿Echo de menos un paso o algo? Todo parece funcionar correctamente, nunca veo ningún error, pero mi archivo no parece estar firmado.

Respuesta

8

Su archivo está firmado. Windows declara que el editor es desconocido porque no confía en la identificación del editor en la firma.

Recuerde que en el mundo de las firmas digitales, siempre debe verificar al menos dos cosas a la vez o todo el ejercicio no tiene sentido. Debe verificar el nombre en la firma y también debe encontrar un enlace de confianza de algo en lo que ya confíe (por ejemplo, una autoridad certificadora o un certificado agregado manualmente como confiable) hasta la firma que está verificando. Solo entonces tiene sentido confiar en el nombre en la firma y quizás mostrarlo al usuario del sistema operativo.

En su navegador web, vaya a Herramientas/Opciones de Internet/Contenido/Editores/Certificados y agregue su certificado de prueba a Editores de confianza.

(otro navegador podría tener la misma función en Configuración/Configuración avanzada Mostrar/HTTPS/SSL/Administrar certificados.)

y vuelva a intentar. No funcionará pero realmente no sé por qué y es un juego instructivo.

No está claro si existe una forma en Windows de establecer una cadena de confianza si su certificado es de fabricación casera y no existe una autoridad de certificación que lo respalde. This source dice:

Si utiliza un certificado de prueba (de creación propia), los diálogos de instalación mostrará un mensaje de "Editor desconocido". Para las aplicaciones implementadas internamente en una organización, esta es una práctica aceptable."

Sin embargo, puede crear su propia autoridad de certificación como se describe here y añadir el certificado de CA bajo las autoridades de certificación raíz de confianza. De esta manera se están básicamente, dejar que cualquier certificado emitido por esa CA firme cualquier cosa y sea confiable para Windows.

+0

Este es un instalador de Windows, no de web, en el que estoy trabajando. ¿Hay algún otro lugar donde necesite importar mi certificado? Lo agregué en Opciones de Internet como sugirió y también en Certificados/Personas de Confianza en el complemento Certificados de MMC, pero sigo viendo Desconocido como el editor mencionado. ¡Gracias! – Kris

+2

@Kris - Claro, estoy hablando de Windows Installer. El mero hecho de que te muestro dos maneras diferentes de llegar al mismo diálogo sugiere que es un componente de Windows independiente de un navegador en particular. Mira aquí otras formas. http://technet.microsoft.com/en-us/library/cc755231(v=ws.10).aspx –

+0

Veo mi certificado/editor en la pestaña Editores de confianza de la ventana de Certificados, pero sigo viendo el mismo problema. Cuando ejecuto el .MSI, no me dice que mi editor no es de confianza (como en su enlace) sino que me dice que el editor es "Desconocido" :(¿Alguna otra idea? – Kris

2

Esto también puede suceder si no ha utilizado el interruptor "/ d" para especificar una descripción al firmar el paquete. Vea más detalles en "firmar Opciones de comando "en esta página: http://msdn.microsoft.com/en-us/library/8s9b9yaz.aspx

+0

Agregar la descripción/d al ejecutar la herramienta de firma no resuelve esto. Gracias por la sugerencia, sin embargo. – Kris

+0

No, la opción '/ d' solo le dará una descripción descriptiva del paquete. Por lo general, desea agregarlo, pero no controla la relación de confianza de la firma. –

2

Tuve el mismo problema y descubrí que Microsoft ya no es un certificado de confianza con el algoritmo "sha 1".

Resolví el problema solicitando a mi CA que reemplazara el certificado.

Cuestiones relacionadas