¿Cómo pasar la pantalla inteligente en Win8 cuando instale una aplicación firmada?


Somos desarrolladores y tenemos un instalador de aplicaciones firmado digitalmente. Cuando instalamos esta aplicación, aparece la pantalla inteligente que afecta la experiencia de instalación. Dice

Windows protegió su PC

Windows SmartScreen impidió que se iniciara una aplicación no reconocida, Ejecutar esta aplicación podría poner su PC en riesgo.

Creo que Microsoft tiene alguna estrategia para verificar la aplicación además de la firma digital. Tiene a alguien tiene la experiencia para este problema y por favor, dame alguna pista para solucionar este problema?

Author: Jk1, 2012-09-07

9 answers

Si firmó el instalador con un certificado adquirido de una CA, se supone que debe ponerse en contacto con la CA para obtener una explicación de por qué no pudo trabajar con Microsoft para deshacerse de esta advertencia.

Si el certificado no es de una CA, sino de un certificado autofirmado, tendrá que recurrir a una CA.

Microsoft tiene más información publicada en su blog del equipo de Windows ya,

Https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/

Mejores prácticas

Los desarrolladores aún deben seguir las mejores prácticas que hemos sugerido en publicaciones de blog anteriores. Hemos agregado a esa guía las opciones adicionales de distribuir aplicaciones a través de la Tienda Windows y la opción de firma de código EV:

  • Distribuya sus aplicaciones a través de las Ventanas Almacenar

Las aplicaciones de Windows 8 deben pasar el proceso de incorporación de desarrolladores y revisión de aplicaciones de la Tienda Windows. Las aplicaciones de Windows 8 no están en el ámbito de las comprobaciones o advertencias de reputación de aplicaciones SmartScreen en Windows 8.

  • Firme digitalmente sus programas (firma de código estándar o EV)

La reputación se genera y se asigna a los certificados digitales, así como a archivos específicos. Los certificados digitales permiten que los datos ser agregado y asignado a un solo certificado en lugar de muchos programas individuales. Aunque no es obligatorio, los programas firmados por un certificado de firma de código EV pueden establecer reputación inmediatamente con los servicios de reputación de SmartScreen, incluso si no existe una reputación previa para ese archivo o editor. Los certificados de firma de código EV también tienen un identificador único que facilita el mantenimiento de la reputación en las renovaciones de certificados. Solo certificados Authenticode emitidos por una CA que sea miembro de el programa de Certificado Raíz de Windows puede establecer reputación.

En este momento, Symantec y DigiCert están ofreciendo certificados de firma de código EV.

  • No firme ni distribuya código malicioso

Distribuir código detectado como malicioso eliminará la reputación de un archivo y también cualquier reputación del certificado digital asociado, incluso si está firmado con un certificado de firma de código EV.

  • Solicitar un logotipo de Windows o Certificación de la Aplicación de Escritorio de Windows 8

Obtenga más información sobre estos programas aquí: Certificación de la aplicación de escritorio de Windows 8 (requerida para envíos de la tienda Windows) Programa de Logotipo de Windows

 45
Author: Lex Li,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-04 06:36:33

Acabamos de pasar de un antiguo certificado Authenticode a un nuevo (no un certificado EV, solo un certificado simple que se puede usar en nuestro proceso de compilación automatizado).

Microsoft ya no proporciona ningún medio para transferir la reputación de un certificado existente a uno nuevo. Así que no trates de llamar a su apoyo. Perderás mucho tiempo y energía. Y no podrán ayudar.

Microsoft afirma que si los certificados antiguos y nuevos tienen el mismo contenido textual, la reputación se establece más rápido. Más específicamente, aquí está la respuesta que recibí del equipo de soporte de La función de reputación de la aplicación del Filtro SmartScreen® :

Tenga en cuenta que cada vez que renueve un certificado con reputación conocida, es probable que vea algunas advertencias durante las descargas iniciales de archivos firmados con el certificado renovado. Sin embargo, la reputación conocida en el certificado renovado es típicamente establecido más rápidamente que en un nuevo certificado. Mientras que un certificado renovado establece reputación, los usuarios pueden hacer clic para ejecutar o guardar la descarga. Para ello, seleccionan Acciones / Más Opciones / Ejecutar de todos modos desde el Gestor de Descargas.

La mejor manera de asegurarse de que SmartScreen no advierta a los usuarios es ejecutar el Windows App Certification Kit (WACK) que debe incluirse en la descarga del SDK de Windows:

Kit de Certificación de Aplicaciones de Windows

Después de ejecutar las pruebas, WACK explica cómo proceder:

Informe Final-Validación aprobada

Cargue el resultado XML de una certificación de aplicación exitosa en https://sysdev.microsoft.com . Unos días más tarde, SmartScreen será consciente de la firma digital utilizada para el programa certificado y ya no advertirá a los usuarios en la descarga.

Nota No pudimos certificar nuestra aplicación en las últimas actualizaciones de Windows 8.1 y tuvimos que usar una instalación limpia de Windows 8.1 para obtener WACK a validar con éxito todos nuestros programas.

 46
Author: Pierre Arnaud,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-06 05:44:40

He estado buscando por un tiempo, así que voy a compartir lo que he encontrado hasta ahora.

No he encontrado ninguna documentación sobre esta característica en Windows 8 de Microsoft, pero puede que esté buscando en los lugares equivocados.

La mayoría de los artículos que leo discuten que el filtro SmartScreen funciona de la siguiente manera:

  • Antes de ejecutar un instalador o ejecutable descargado, Windows 8 consulta con una base de datos.
  • La base de datos puede informar si ese programa tiene ser:
    • reportado como malicioso/phishing, (y verificado por un empleado de Microsoft).
    • utilizado/dirigido por muchas personas.

Si suficientes personas han ejecutado ese instalador, sin reportarlo como malicioso, eventualmente ese programa será marcado como seguro, y otros usuarios no recibirán el molesto mensaje.

Algunas fuentes: (aquí) (aquí)

La información enviada a Microsoft cuando un usuario instala un programa incluye hash del instalador y firma digital, y posiblemente el nombre de archivo de la aplicación. (ver aquí)

Los empleados de Microsoft tendrían acceso directo a la base de datos para agregar y marcar a salvo todas las aplicaciones de Microsoft.

Tal vez Microsoft ha configurado una manera de pre-certificar su instalador con ellos, si no es posible que solo tenga que esperar hasta que suficientes personas ejecuten el instalador. (pero no estoy seguro de cuántos serían).

 14
Author: Xantix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-07 06:03:13

Acabo de pasar por este proceso, y voy a añadir algunas curiosidades de información a esto.

1) Obtener un EV. Vale la pena. La próxima vez que actualice sus certificados, actualice a un certificado EV. El precio es de unos 1 100 más por año. Los certificados EV se consideran más seguros, porque son más difíciles de robar. Cuando se le emita, se le emitirá un dispositivo de token de hardware para completar la señal. Desafortunadamente, la señal final no es compatible con compilaciones automatizadas.

No es tan terrible como suena. Le proporcionarán un segundo certificado para firmar sus ejecutables (dentro del instalador) que sigue siendo compatible con la automatización. La firma en el instalador debe firmarse junto con el token de hardware.

2) Si no desea obtener un certificado EV, necesita reputación. Si está actualizando, Microsoft transferirá la reputación de su certificado anterior al nuevo. Debe ponerse en contacto con el soporte técnico de MSDN y en aproximadamente una semana será Terminado. Envié a mis instaladores viejos y nuevos certificates con certificados viejos y nuevos with y lo arreglaron.

3) Si este es su primer certificado, está atascado con SmartScreen hasta que obtenga reputación. Probablemente debería obtener la certificación de su aplicación a través de sysdev.microsoft.com. Pero, no se sabe realmente cuántas descargas necesita antes de ganar una reputación positiva con Microsoft.

Esa es mi experiencia.
 10
Author: Lompican,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-06 03:53:28

Ya que Windows 8.1 está fuera.

  • Microsoft desactivó todos los Certificados de Firma de Código Estándar para ser de confianza cuando los descarga a través de Internet en su PC e intenta instalarlos, pero la aplicación de Certificados de Firma de Código Estándar funciona si distribuye su aplicación a través de USB o CD-ROM.

  • No utilice el signtool.exe para verificar (signtool.exe verify /pa mysetup.exe se mostrará con éxito, pero fallará cuando otros usuarios lo descarguen e intenten instalar una ventana emergente de SmartScreen que se mantendrá que aparece)

Use el Kit de Certificación de Aplicaciones de Windows (WACK)

introduzca la descripción de la imagen aquí

  • Estos certificados de firma de código estándar están muertos. Significa que si tiene un certificado de firma de código estándar, ya no funcionará de manera confiable como lo hizo en el pasado, a pesar de que Windows App Certification Kit (WACK) muestra PASAR con ADVERTENCIA, no significa que su 100% verifique el éxito

introduzca la descripción de la imagen aquí

Usted tiene que comprar el certificado EV ( https://www.globalsign.com/en/code-signing/)

Así que, para tener 100% de éxito, siga la alimentación de la cuchara:

Paso 1: vaya a https://sysdev.microsoft.com y login

A) Crear una cuenta de empresa > siguiente

B) Descargar winqual.archivo exe que es como archivo zip proporcionado por Microsoft, ahora firme el winqual.exe con su certificado estándar o certificado EV y luego haga clic en Siguiente para cargar el archivo para la validación.

En mi caso fracasó porque tengo certificado estándar que Microsoft deja de permitir más. Así que todo lo que tienen que hacer ahora es comprar la licencia de EV, de lo contrario, están jodidos, y pueden pasar su vida resolviendo este problema sin ninguna pista.

introduzca la descripción de la imagen aquí

 5
Author: YumYumYum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-15 23:47:08

He probado la solución EV cert y funciona.

Tristemente, también mencionaré que los certificados EV son incompatibles con TeamBuild que ejecuta la firma bajo el contexto de un servicio. Los certificados EV requieren un token de hardware que interactúe con el Proveedor de Servicios Criptográficos proporcionado por SafeNet, Inc para su uso con todos los proveedores autorizados de certificados EV (VeriSign y DigiCert).

Cuando se produce la firma de los controladores de Safenet pedirá una contraseña que es algo incompatible con la ejecución en el contexto de un servicio. Además, Safenet proporciona protección que evita la firma desde cualquier cosa que no sea la consola real. Ni siquiera puede iniciar sesión desde una sesión de escritorio remoto. Por lo tanto, firmar desde dentro de Teambuild es problemático en el mejor de los casos y no es posible en el peor.

He trabajado con Microsoft y no han sido capaces de proporcionar una solución para la firma o cualquier otra forma de lograr reputación instantánea bajo SmartScreen.

 4
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-30 16:58:11

Desafortunadamente no tengo suficiente representante para simplemente comentar una de las respuestas anteriores. Sin embargo, si especifica confianza parcial para su aplicación publicada (elegí Internet zone) y tiene un certificado de firma de código en su lugar, no se muestra ninguna advertencia de pantalla inteligente (marcada en Win10).

 1
Author: Daniel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-24 12:34:14

Firmo mi solicitud de manera automatizada utilizando un certificado EV en un token ( GlobalSign ) . Use a .bat file. en el ".archivo bat", tipo ex: (Para sha1)

SignTool.exe sign /n "Exact Enterprise name in the cert - token" /t "http://timestamp.globalsign.com/scripts/timstamp.dll" "c:\Patch_to_file\Filename.exe"

El "Nombre exacto de la empresa en el cert-token" debe ser el nombre exacto que está en el certificado ( token)

 1
Author: Luciano Arruda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-14 17:29:22

"La versión del archivo no es compatible con la versión de Windows que está ejecutando". Bajo Windows 2008 server no hay botón" Más información " para elegir instalar de todos modos.

A medida que desarrollamos software de escritorio de Windows (no 'Aplicaciones') utilizando productos que no son de Microsoft (Delphi), y usamos Innosetup para nuestro instalador, la validación de la aplicación no tiene sentido. Se sienta allí durante 30 minutos sin hacer nada, simplemente iniciamos la aplicación, luego cerramos la aplicación manualmente, y genera un pase informe.

Codificamos todas nuestras versiones y cada ejecutable dentro de ellas.

Cuando cargamos el XML en Microsoft, el XML certificado se encuentra en un sitio no relacionado con nuestra cuenta principal de desarrollador, sin forma de publicarlo en Microsoft Store. 45 minutos perdidos por aplicación.

 0
Author: Simon Carter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-01 06:13:00