83 votes

Comment passer l'écran intelligent sur Win8 lors de l'installation d'une application signée ?

Nous sommes développeurs et nous avons un programme d'installation d'application signé numériquement. Lorsque nous installons cette application, elle fait apparaître l'écran intelligent, ce qui affecte l'expérience d'installation. Voici ce qu'il dit

Windows a protégé votre PC

Windows SmartScreen a empêché le démarrage d'une application non reconnue, L'exécution de cette application peut mettre votre PC en danger.

Je pense que Microsoft a une stratégie pour vérifier l'application en plus de la signature numérique. Est-ce que quelqu'un a l'expérience de ce problème et peut-il me donner un indice pour résoudre ce problème ?

48voto

Pierre Arnaud Points 2306

Nous venons de passer par tout le processus de transfert d'une ancien certificat Authenticode à un nouveau (il ne s'agit pas d'un certificat EV, mais d'un simple certificat qui peut être utilisé dans notre processus de construction automatisé).

Microsoft ne fournit plus aucun moyen de transférer la réputation d'un certificat existant vers un nouveau certificat. N'essayez donc pas d'appeler leur service d'assistance. Vous perdrez beaucoup de temps et d'énergie. Et ils ne pourront pas vous aider.

Microsoft affirme que si l'ancien et le nouveau certificat ont le même contenu textuel, la réputation s'établit plus rapidement. Plus précisément, voici la réponse que j'ai reçue de la part de l'équipe de la Fonction de réputation des applications du filtre SmartScreen l'équipe de soutien :

Veuillez noter que lorsque vous renouvelez un certificat dont la réputation est connue, vous verrez probablement des avertissements lors des premiers téléchargements de fichiers signés avec le certificat renouvelé. Toutefois, la réputation connue du certificat renouvelé est généralement établie plus rapidement que celle d'un nouveau certificat. Pendant qu'un certificat renouvelé établit sa réputation, les utilisateurs peuvent toujours cliquer pour exécuter ou enregistrer le téléchargement. Pour ce faire, ils sélectionnent Actions | Plus d'options | Exécuter quand même dans le gestionnaire de téléchargement.

La meilleure façon de s'assurer que SmartScreen n'avertira pas les utilisateurs est d'exécuter la commande Kit de certification des applications Windows (WACK) qui devrait être inclus dans le téléchargement du SDK Windows :

Windows App Certification Kit

Après avoir effectué les tests, WACK explique comment procéder :

Final Report - Validation passed

Télécharger le résultat XML d'une demande de certification réussie à l'adresse suivante https://sysdev.microsoft.com . Quelques jours plus tard, SmartScreen sera au courant de la signature numérique utilisée pour le programme certifié et n'avertira plus les utilisateurs lors du téléchargement.

Note Nous n'avons pas pu certifier notre application sur les dernières mises à jour de Windows 8.1 et nous avons dû utiliser une installation propre de Windows 8.1 pour que WACK valide avec succès tous nos programmes.

47voto

Lex Li Points 18214

Si vous avez signé le programme d'installation avec un certificat acheté auprès d'une autorité de certification, vous êtes censé contacter cette dernière pour qu'elle vous explique pourquoi elle n'a pas collaboré avec Microsoft pour se débarrasser de cet avertissement.

Si le certificat ne provient pas d'une autorité de certification, mais qu'il s'agit d'un certificat auto-signé, vous devrez faire appel à une autorité de certification.

Microsoft a déjà publié la plupart des informations sur le blog de l'équipe Windows,

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

Meilleures pratiques

Les développeurs doivent toujours suivre les meilleures pratiques que nous avons suggérées dans les articles de blog précédents. Nous avons ajouté à ces conseils les options supplémentaires de distribution d'applications via le Windows Store et l'option de signature de code EV :

  • Distribuez vos applications via le Windows Store

Les applications Windows 8 doivent passer le processus d'accueil des développeurs et d'examen des applications du Windows Store. Les applications Windows 8 ne sont pas concernées par les contrôles de réputation des applications SmartScreen ou les avertissements dans Windows 8.

  • Signer numériquement vos programmes (signature de code standard ou EV)

La réputation est générée et attribuée aux certificats numériques ainsi qu'à des fichiers spécifiques. Les certificats numériques permettent de regrouper les données et de les attribuer à un seul certificat plutôt qu'à de nombreux programmes individuels. Bien que cela ne soit pas obligatoire, les programmes signés par un certificat de signature de code EV peuvent immédiatement établir une réputation avec les services de réputation SmartScreen, même s'il n'existe aucune réputation préalable pour ce fichier ou cet éditeur. Les certificats de signature de code EV ont également un identifiant unique qui facilite le maintien de la réputation lors des renouvellements de certificats. Seuls les certificats Authenticode émis par une autorité de certification membre du Windows Root Certificate Program peuvent établir une réputation.

Actuellement, Symantec et DigiCert proposent des certificats de signature de code EV.

  • Ne pas signer ou distribuer de code malveillant

La diffusion d'un code détecté comme malveillant supprime la réputation d'un fichier ainsi que toute réputation du certificat numérique associé, même s'il est signé avec un certificat de signature de code EV.

  • Postuler pour une certification Windows Logo ou Windows 8 Desktop App

Pour en savoir plus sur ces programmes, cliquez ici : Certification des applications de bureau Windows 8 (requise pour les soumissions au Windows Store) Programme du logo Windows

15voto

Xantix Points 2178

J'ai cherché pendant un certain temps, je vais donc partager ce que j'ai trouvé jusqu'à présent.

Je n'ai pas trouvé de documentation sur cette fonctionnalité dans Windows 8 de Microsoft, mais je ne cherche peut-être pas au bon endroit.

La plupart des articles que j'ai lus expliquent que le filtre SmartScreen fonctionne comme suit :

  • Avant d'exécuter un programme d'installation ou un exécutable téléchargé, Windows 8 consulte une base de données.
  • La base de données peut indiquer si ce programme a été mis en œuvre ou non :
    • signalée comme malveillante/phishing (et vérifiée par un employé de Microsoft).
    • utilisé/géré par de nombreuses personnes.

Si un nombre suffisant de personnes ont exécuté ce programme d'installation sans le signaler comme étant malveillant, ce programme finira par être signalé comme étant sûr et les autres utilisateurs ne recevront pas ce message gênant.

quelques sources : ( aquí ) ( aquí )

Les informations envoyées à Microsoft lorsqu'un utilisateur installe un programme comprennent l'adresse IP, un hachage du programme d'installation et de la signature numérique, et éventuellement le nom du fichier de l'application. ( voir ici )

Les employés de Microsoft auraient un accès direct à la base de données pour ajouter et marquer toutes les applications Microsoft.

Microsoft a peut-être mis en place un moyen de pré-certifier votre installateur auprès d'eux, sinon vous devrez peut-être attendre qu'un nombre suffisant de personnes exécutent l'installateur. (mais je ne suis pas sûr du nombre).

13voto

Lompican Points 28

Je viens de passer par ce processus et j'ajouterai quelques informations à ce sujet.

1) Acheter un véhicule électrique. Cela en vaut la peine. La prochaine fois que vous mettrez à jour vos certificats, passez à un certificat EV. Le prix est d'environ 100 $ de plus par an. Les certificats EV sont considérés comme plus sûrs, car ils sont plus difficiles à voler. Lorsqu'il vous est délivré, un jeton matériel vous est remis pour compléter la signature. Malheureusement, la signature finale n'est pas compatible avec les constructions automatisées.

Ce n'est pas aussi terrible que cela en a l'air. Ils vous fourniront un second certificat pour signer vos exécutables (à l'intérieur de l'installateur) qui reste compatible avec l'automatisation. La signature de l'installateur doit être signée conjointement avec le jeton matériel.

2) Si vous ne voulez pas obtenir de certificat EV, vous avez besoin d'une réputation. Si vous effectuez une mise à niveau, Microsoft transférera la réputation de votre ancien certificat vers le nouveau. Vous devez contacter le support technique MSDN et cela sera fait en une semaine environ. J'ai soumis mon ancien et mon nouvel installateur - avec l'ancien et le nouveau certificat - et ils ont réglé le problème.

3) S'il s'agit de votre premier certificat, vous êtes coincé avec SmartScreen jusqu'à ce que vous obteniez une réputation. Vous devriez probablement faire certifier votre application par sysdev.microsoft.com. Mais on ne sait pas vraiment combien de téléchargements sont nécessaires avant d'acquérir une réputation positive auprès de Microsoft.

C'est mon expérience.

5voto

Depuis la sortie de Windows 8.1.

  • Microsoft a désactivé tous les certificats de signature de code standard pour qu'ils soient fiables lorsque vous les téléchargez via Internet sur votre PC et que vous essayez de les installer, mais l'application des certificats de signature de code standard fonctionne si vous distribuez votre application via USB ou CD-ROM.

  • Ne pas utiliser le signtool.exe à vérifier ( signtool.exe verify /pa mysetup.exe Le succès sera au rendez-vous, mais il échouera lorsque d'autres utilisateurs le téléchargeront et essaieront d'installer une fenêtre contextuelle SmartScreen qui continuera à s'afficher).

Utiliser le kit de certification des applications Windows (WACK)

enter image description here

  • Les certificats de signature de code standard sont morts. Cela signifie que si vous avez un certificat de signature de code standard, il ne fonctionnera plus de manière fiable comme par le passé, même si Windows App Certification Kit (WACK) indique PASS avec WARNING, cela ne signifie pas qu'il a été vérifié à 100%.

enter image description here

Vous devez acheter un certificat EV ( https://www.globalsign.com/en/code-signing/ )

Ainsi, pour réussir à 100 %, il faut suivre le principe de l'alimentation à la petite cuillère :

Étape 1 : aller sur https://sysdev.microsoft.com et se connecter

a) Créer un compte d'entreprise > suivant

b) Téléchargez le fichier winqual.exe qui est un fichier zip fourni par Microsoft, signez le fichier winqual.exe avec votre certificat standard ou votre certificat EV et cliquez ensuite sur suivant pour télécharger le fichier pour validation.

Dans mon cas, l'échec est dû au fait que j'ai un certificat standard que Microsoft n'autorise plus. Il ne vous reste donc plus qu'à acheter une licence EV, sinon vous êtes foutus, et vous pourrez passer votre vie à résoudre ce problème sans la moindre idée.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X