c# - sean - ¿Cómo pasar la pantalla inteligente en Win8 cuando instale una aplicación firmada?
play store descargar (9)
"La versión del archivo no es compatible con la versión de Windows que está ejecutando". En el servidor de Windows 2008, no hay ningún botón ''Más información'' para elegir instalar de todos modos.
A medida que desarrollamos el 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. Permanece allí durante 30 minutos sin hacer nada, simplemente iniciamos la aplicación, luego cerramos la aplicación manualmente y genera un informe de aprobación.
Codificamos todos nuestros lanzamientos y todos los ejecutables dentro de ellos.
Cuando cargamos el XML a Microsoft, el XML certificado se ubica en un sitio no relacionado con nuestra cuenta de desarrollador principal, sin posibilidad de publicarlo en la Tienda de Microsoft. 45 minutos desperdiciados por aplicación.
Somos desarrolladores y tenemos un instalador de aplicaciones digital firmado. Cuando instalamos esta aplicación, emerge la pantalla inteligente que afecta la experiencia de instalación. Dice
Windows protegió tu PC
Windows SmartScreen impidió que se iniciara una aplicación no reconocida. La ejecución de esta aplicación podría poner en riesgo su PC.
Creo que Microsoft tiene alguna estrategia para verificar la aplicación además de la firma digital. ¿Alguien tiene la experiencia para este problema y por favor dame alguna pista para solucionar este problema?
Acabo de pasar por este proceso, y agregaré algunas cositas 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 aproximadamente $ 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 envíe, se le enviará un dispositivo de token de hardware para que complete el letrero. Lamentablemente, el signo final no es compatible con compilaciones automáticas.
No es tan terrible como parece. 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 estar firmada 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 antiguo certificado a su nuevo certificado. Debe ponerse en contacto con el soporte técnico de MSDN y en aproximadamente una semana estará listo. Envié mis instaladores antiguos y nuevos, con certificados antiguos y nuevos, y lo arreglaron.
3) Si este es su primer certificado, estará atrapado con SmartScreen hasta que obtenga reputación. Probablemente debería obtener su aplicación certificada a través de sysdev.microsoft.com. Sin embargo, no se sabe cuántas descargas necesita antes de ganar una reputación positiva con Microsoft.
Esa es mi experiencia.
Dado que Windows 8.1 está fuera.
Microsoft ha desactivado todos los Certificados de Firma de Código Estándar para que sean confiables cuando los descarga por Internet a su PC y trata de instalarlos, pero la aplicación 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
mostrará el éxito, pero fallará cuando otros usuarios lo descarguen e intente instalar una ventana emergente SmartScreen que seguirá apareciendo)
Utilice el Kit de certificación de aplicaciones de Windows (WACK)
- Este certificado de firma de código estándar está muerto. Significa que si tiene un certificado de firma de código estándar ya no funciona de manera confiable como en el pasado, aunque el Kit de certificación de aplicaciones de Windows (WACK) muestra PASE con ADVERTENCIA, no significa que sea 100% verificado.
Tienes que comprar el certificado EV ( https://www.globalsign.com/en/code-signing/ )
Entonces, para ser 100% exitoso, siga la alimentación de cuchara:
Paso 1: vaya a https://sysdev.microsoft.com e inicie sesión
a) Crear una cuenta de empresa> siguiente
b) Descargue el archivo winqual.exe, que es como un archivo comprimido provisto 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 su validación.
En mi caso falló porque tengo un certificado estándar que Microsoft deja de permitir. Entonces, lo único que tienen que hacer ahora es comprar una licencia de EV. De lo contrario, se arruinan y pueden pasar toda su vida resolviendo este problema sin ninguna pista.
Firmo mi solicitud de manera automática utilizando un certificado EV en un token (GlobalSign). Use un archivo .bat. en el archivo ".bat", escriba 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 certificado - token" debe ser el nombre exacto que está en el certificado (token)
He estado buscando por un tiempo, así que compartiré lo que he encontrado hasta ahora.
No he encontrado ninguna documentación sobre esta característica en Windows 8 de Microsoft, pero es posible 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 que se descargó, Windows 8 consulta con una base de datos.
- La base de datos puede informar si ese programa ha sido o no:
- reportado como malicioso / phishing, (y verificado por un empleado de Microsoft).
- usado / dirigido por muchas personas.
Si suficientes personas han ejecutado ese instalador, sin informarlo como malicioso, eventualmente ese programa se marcará como seguro y otros usuarios no recibirán el mensaje molesto.
algunas fuentes: ( here ) ( here )
La información enviada a Microsoft cuando un usuario instala un programa incluye una dirección IP, un hash del instalador y la 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 de forma segura todas las aplicaciones de Microsoft.
Tal vez Microsoft haya configurado una forma de precertificar su instalador con ellos, de lo contrario, deberá esperar a que suficientes personas ejecuten el instalador. (pero no estoy seguro de cuántos sería).
He probado la solución EV cert y funciona.
Lamentablemente, también mencionaré que los certificados EV son incompatibles con TeamBuild, que ejecuta la firma en el contexto de un servicio. Los certificados de EV requieren un token de hardware que interactúa con el Proveedor de servicios criptográficos provisto por SafeNet, Inc. para su uso con todos los vendedores autorizados de certificados EV (VeriSign y DigiCert).
Cuando se produce la firma, los controladores de Safenet solicitarán 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 de cualquier cosa que no sea la consola real. Ni siquiera puedes iniciar sesión desde una sesión de escritorio remoto. Por lo tanto, firmar desde Teambuild es problemático en el mejor de los casos y no es posible en el peor.
He trabajado con Microsoft y no han podido proporcionar una solución alternativa para la firma ni de ninguna otra manera para lograr una reputación instantánea en SmartScreen.
Lamentablemente, no tengo suficientes representantes para comentar simplemente una de las respuestas anteriores. Sin embargo, si especifica confianza parcial para su aplicación publicada (elegí zona de Internet) y tiene un certificado de firma de código, no se muestra ninguna advertencia de pantalla inteligente (marcada en Win10).
Recorrimos todo el proceso de pasar de un antiguo certificado Authenticode a uno 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 intentes 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 de texto, la reputación se establece más rápidamente. Más específicamente, esta es la respuesta que recibí del equipo de soporte de la función de Reputación de aplicaciones del filtro SmartScreen® :
Tenga en cuenta que siempre que renueve un certificado con reputación conocida, es probable que vea algunas advertencias durante las descargas iniciales de los archivos firmados con el certificado renovado. Sin embargo, la reputación conocida en el certificado renovado generalmente se establece más rápidamente que en un certificado nuevo. Si bien un certificado renovado establece reputación, los usuarios aún pueden hacer clic para ejecutar o guardar la descarga. Para hacerlo, seleccionan Acciones | Más opciones | Ejecutar de todos modos desde el Administrador de descargas.
La mejor manera de garantizar que SmartScreen no advierta a los usuarios es ejecutar el Kit de certificación de aplicaciones de Windows (WACK) que debe incluirse en la descarga de Windows SDK:
Después de ejecutar las pruebas, WACK explica cómo proceder:
Suba el resultado XML de una certificación de aplicación exitosa a https://sysdev.microsoft.com . Unos días más tarde, SmartScreen tendrá conocimiento de la firma digital utilizada para el programa certificado y ya no advertirá a los usuarios sobre 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 que WACK validara con éxito todos nuestros programas.
Si firmó el instalador con un certificado comprado de una CA, se supone que debe contactar a la CA para obtener una explicación sobre por qué no trabajaron con Microsoft para deshacerse de esta advertencia.
Si el certificado no proviene de una CA, sino de un certificado autofirmado, deberá recurrir a una CA.
Microsoft ya tiene la mayoría de la información publicada en su blog del equipo de Windows,
Mejores prácticas
Los desarrolladores deben seguir las mejores prácticas que hemos sugerido en publicaciones anteriores del blog. Hemos agregado a esa guía las opciones adicionales de distribución de 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 Windows Store
Las aplicaciones de Windows 8 son necesarias para aprobar el proceso de incorporación de desarrolladores de Windows Store y el proceso de revisión de aplicaciones. Las aplicaciones de Windows 8 no están dentro del alcance de las comprobaciones o avisos de reputación de las 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 certificados digitales, así como a archivos específicos. Los certificados digitales permiten que los datos se agreguen y se asignen a un único certificado en lugar de a 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 los Certificados Authenticode emitidos por una CA que sea miembro del Programa de Certificación raíz de Windows pueden 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
El código de distribución 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.
- Solicite un logotipo de Windows o la certificación de la aplicación de escritorio de Windows 8
Obtenga más información acerca de estos programas aquí: Certificación de aplicaciones de escritorio de Windows 8 (requerida para presentaciones en la Tienda Windows) Programa de logotipo de Windows