Pourquoi SmartScreen bloque votre application interne signée

Vous venez de signer votre application avec un certificat auto-signé ou un certificat d'autorité de certification interne, et Windows SmartScreen affiche toujours l'avertissement rouge « L'éditeur n'a pas pu être vérifié » lors de l'exécution. Cette situation frustre quotidiennement des milliers d'équipes IT qui déploient des applications métier.

Le problème ne vient pas de votre signature elle-même – techniquement valide – mais de la stratégie de réputation de Microsoft SmartScreen. Depuis 2024, SmartScreen utilise trois mécanismes de validation cumulatifs :

  • Vérification cryptographique : le certificat doit être valide, non expiré, et la chaîne de confiance complète
  • Réputation du certificat : Microsoft suit combien d'utilisateurs ont exécuté des fichiers signés avec ce certificat spécifique
  • Validation de l'éditeur : le certificat doit être émis par une autorité reconnue par le Microsoft Trusted Root Program

Un certificat auto-signé ou d'une CA interne échoue systématiquement au troisième critère, même si vous l'installez dans le magasin Autorités racines de confiance de chaque poste. SmartScreen interroge ses propres bases cloud, indépendamment du magasin local de certificats Windows.

Chiffres 2026 : Selon les télémétries Microsoft publiées en mars 2026, 34% des applications d'entreprise signées déclenchent encore SmartScreen lors du premier téléchargement, même avec un certificat EV valide. La période de construction de réputation moyenne est passée de 2-3 semaines en 2024 à 4-6 semaines en 2026 pour les nouveaux certificats.

Signer correctement avec un certificat reconnu publiquement

Certificat EV Code Signing : la solution privilégiée en 2026

Pour éviter définitivement l'avertissement SmartScreen, vous devez utiliser un certificat Extended Validation (EV) Code Signing émis par une autorité reconnue par Microsoft. Contrairement aux certificats OV (Organization Validation) standard, les certificats EV bénéficient d'une réputation instantanée.

Les fournisseurs reconnus en 2026 incluent :

  • DigiCert : 499 €/an pour un certificat EV, livraison sous 3-5 jours ouvrés
  • Sectigo (anciennement Comodo) : 379 €/an, processus de validation en 2-4 jours
  • GlobalSign : 449 €/an, inclut support prioritaire
  • Certum : 289 €/an, option économique européenne avec validation RGPD

Le processus d'obtention d'un certificat EV en 2026 nécessite une vérification d'identité renforcée :

  1. Soumission des documents officiels de l'entreprise (extrait Kbis de moins de 3 mois, statuts)
  2. Vérification téléphonique ou visioconférence avec le responsable légal
  3. Confirmation de l'adresse physique par courrier recommandé ou service tiers
  4. Pour les entités françaises : vérification croisée dans la base INPI et DataInpi
  5. Livraison du certificat sur token USB matériel sécurisé (obligatoire depuis juin 2023)

Attention : Les certificats EV ne peuvent plus être exportés vers un fichier .pfx standard depuis juin 2023. Ils résident exclusivement sur un token matériel FIPS 140-2 niveau 2 minimum (YubiKey 5 FIPS, SafeNet eToken, etc.). Cela implique des contraintes logistiques pour les environnements CI/CD automatisés.

Signer votre application avec SignTool et un certificat EV

Une fois le token USB reçu, la signature s'effectue avec SignTool.exe, inclus dans le SDK Windows. Voici la procédure complète testée sur Windows 11 24H2 :

  1. Installez le SDK Windows (téléchargeable gratuitement depuis docs.microsoft.com/windows/sdk)
  2. Insérez le token USB et installez les pilotes du fabricant
  3. Identifiez le certificat disponible :
    certutil -scinfo
    Notez le SHA1 du certificat affiché.
  4. Signez votre exécutable avec horodatage :
    signtool sign /sha1 VOTRE_SHA1_CERTIFICAT /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 "C:\Chemin\VotreApp.exe"
  5. Vérifiez la signature :
    signtool verify /pa /v "C:\Chemin\VotreApp.exe"

Le paramètre /tr (timestamp) est crucial : il garantit que la signature reste valide même après expiration du certificat. Utilisez toujours un serveur d'horodatage RFC 3161 reconnu :

  • DigiCert : http://timestamp.digicert.com
  • Sectigo : http://timestamp.sectigo.com
  • GlobalSign : http://timestamp.globalsign.com/tsa/r6advanced1
Type de certificat Réputation SmartScreen Coût annuel (2026) Délai d'obtention Contraintes techniques
Auto-signé ❌ Bloqué systématiquement Gratuit Immédiat Aucune reconnaissance publique
OV Code Signing ⚠️ Bloqué 4-6 semaines 150-250 € 1-3 jours Fichier .pfx exportable
EV Code Signing ✅ Réputation immédiate 289-499 € 2-5 jours Token USB obligatoire
CA interne + GPO ✅ En domaine uniquement Infrastructure AD DS Variable Limité au périmètre AD

Déployer un certificat interne dans un environnement d'entreprise

Utiliser une autorité de certification interne avec Active Directory

Si votre infrastructure repose sur Active Directory Domain Services, vous disposez d'une alternative économique pour les applications distribuées uniquement en interne : une CA d'entreprise AD CS (Active Directory Certificate Services).

Cette solution ne supprime pas l'avertissement SmartScreen pour les utilisateurs externes ou non-domaine, mais elle permet de contourner le blocage sur les postes joints au domaine grâce aux stratégies de groupe.

Architecture recommandée 2026 :

  1. Déployer une CA racine hors ligne (validité 20 ans, stockage HSM pour les grandes organisations)
  2. Établir une CA subordonnée en ligne dédiée aux certificats de signature de code (validité maximale 3 ans)
  3. Créer un modèle de certificat « Code Signing Interne » avec contraintes d'utilisation :
Enhanced Key Usage : Code Signing (1.3.6.1.5.5.7.3.3)
Key Usage : Digital Signature
Validity Period : 1 an (renouvellement annuel obligatoire)
  1. Distribuer le certificat racine via GPO dans Ordinateur\Autorités de certification racines de confiance
  2. Configurer une GPO de restriction logicielle ou AppLocker pour autoriser explicitement les binaires signés par cette CA

Configurer les stratégies SmartScreen pour les applications internes

Depuis Windows 11 23H2, Microsoft propose des paramètres de stratégie de groupe spécifiques pour gérer SmartScreen dans les contextes d'entreprise. Accédez à Configuration ordinateur > Modèles d'administration > Composants Windows > Windows Defender SmartScreen > Explorer.

Trois approches complémentaires testées en production en 2026 :

Approche 1 : Liste de confiance par hachage
Activez « Configurer la liste des hachages de fichiers approuvés pour SmartScreen ». Ajoutez les hachages SHA256 de vos exécutables signés. Limite : nécessite une mise à jour GPO à chaque nouvelle version de l'application.

Approche 2 : Exclusion par chemin UNC
Configurez « Configurer la liste des chemins approuvés pour SmartScreen ». Spécifiez \\serveur-interne\apps\*. Tout fichier téléchargé depuis ce partage réseau contournera SmartScreen. Risque : confiance accordée au serveur, pas au contenu.

Approche 3 : AppLocker avec règles d'éditeur
Créez une règle d'éditeur AppLocker basée sur le certificat de votre CA interne. Cette méthode est la plus robuste : elle valide cryptographiquement la signature ET autorise l'exécution, indépendamment de SmartScreen.

Pour implémenter l'approche 3 (recommandée) :

  1. Ouvrez gpedit.msc > Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies de contrôle d'application > AppLocker
  2. Clic droit sur « Règles exécutables » > « Créer une règle »
  3. Sélectionnez « Éditeur » comme condition
  4. Parcourez un fichier déjà signé par votre CA, AppLocker extraira automatiquement les informations du certificat
  5. Ajustez le curseur sur « Éditeur » (nom de votre CA) pour autoriser tous les fichiers signés, quelle que soit la version
  6. Appliquez la GPO et forcez la mise à jour : gpupdate /force

Bonne pratique 2026 : Combinez AppLocker avec Windows Defender Application Control (WDAC) en mode audit d'abord. Analysez les journaux d'événements (Applications et services > Microsoft > Windows > AppLocker) pendant 2 semaines avant d'activer le mode blocage. Cela évite de bloquer des processus légitimes non anticipés.

Construire la réputation d'un nouveau certificat OV

Comment SmartScreen construit la réputation en 2026

Si vous optez pour un certificat OV (Organization Validation) standard – moins cher qu'un EV – vous devrez traverser une période de construction de réputation. Microsoft ne publie pas l'algorithme exact, mais les observations terrain de 2026 révèlent :

  • Seuil de téléchargements : environ 2 000 à 5 000 exécutions uniques (utilisateurs distincts) nécessaires
  • Diversité géographique : téléchargements depuis au moins 15 pays différents accélèrent la validation
  • Taux de suppression : si plus de 0,5% des utilisateurs désinstallent dans les 48h, la réputation régresse
  • Signalement manuel : un seul signalement « malware » via le formulaire Microsoft peut bloquer le certificat pendant 7-14 jours le temps de l'analyse

Stratégies éprouvées pour accélérer la réputation (légalement et éthiquement) :

  1. Distribution progressive contrôlée : publiez d'abord sur votre site corporate, puis sur des plateformes reconnues (GitHub Releases, SourceForge) pour diversifier les sources
  2. Versioning cohérent : incrémentez toujours le numéro de version dans les métadonnées du fichier PE, SmartScreen le prend en compte
  3. Même certificat pour plusieurs applications : la réputation s'agrège au niveau du certificat, pas du fichier individuel
  4. Communication avec Microsoft : si vous êtes éditeur établi, soumettez vos binaires via le portail Microsoft Security Intelligence (microsoft.com/wdsi/filesubmission) dès la première signature

Mesurer et suivre la réputation de votre certificat

Aucun tableau de bord public n'affiche la réputation SmartScreen, mais plusieurs indicateurs indirects permettent de suivre la progression :

  • Test multi-machines : téléchargez votre application signée depuis Edge ou Chrome sur 5-10 machines Windows fraîches (VM recommandées). Notez le type d'avertissement :
    • « L'application a été bloquée pour votre protection » (fond rouge) = réputation nulle
    • « L'éditeur n'a pas pu être vérifié. Voulez-vous vraiment exécuter ce logiciel ? » (fond jaune) = réputation en construction
    • Aucun avertissement = réputation établie
  • Service VirusTotal : uploadez régulièrement votre binaire signé. Consultez l'onglet « Details » > « Signature Info ». Un certificat en bonne réputation affiche « Valid » avec horodatage récent
  • Télémétrie interne : instrumentez votre application pour envoyer un ping anonyme au premier lancement. Suivez le nombre d'installations uniques hebdomadaires

Piège courant : Renouveler le certificat OV avec un nouveau numéro de série réinitialise complètement la réputation, même auprès du même fournisseur avec la même raison sociale. Prévoyez le renouvellement 6 semaines avant expiration et doublez-signez vos binaires (ancienne + nouvelle clé) pendant la période de transition.

Alternatives de distribution pour contourner SmartScreen

Publication via le Microsoft Store

Les applications distribuées via le Microsoft Store (anciennement Windows Store) bénéficient d'une validation Microsoft intégrée et ne déclenchent jamais SmartScreen. Cette option convient aux applications grand public et métier avec interface moderne.

Prérequis techniques 2026 :

  • Package MSIX (remplace AppX depuis 2023) avec manifeste complet
  • Signature avec un certificat reconnu (OV ou EV), mais la réputation SmartScreen n'est pas requise
  • Validation fonctionnelle par l'équipe Microsoft : 24-72 heures en moyenne
  • Frais d'inscription développeur : 19 € unique (compte individuel) ou 99 € (compte entreprise)

Limitations à considérer :

  • Impossible de distribuer des pilotes ou services système de bas niveau
  • Sandboxing strict : accès filesystem limité, pas d'accès direct au registre hors du conteneur MSIX
  • Délai de déploiement : 1-3 jours entre soumission et disponibilité publique

Déploiement ClickOnce avec validation de domaine

Pour les applications .NET (Framework 4.8 ou .NET 6+), ClickOnce reste une option viable en 2026, particulièrement après les améliorations .NET 8. ClickOnce utilise un modèle de confiance différent de SmartScreen classique.

Configuration optimale testée :

  1. Hébergez le manifeste ClickOnce (.application) sur un domaine HTTPS avec certificat TLS valide
  2. Signez le manifeste avec votre certificat de code (même OV accepté)
  3. Activez « Utiliser les paramètres de confiance de l'application » dans le manifeste
  4. Ajoutez le domaine d'hébergement à la zone Sites de confiance via GPO : HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

SmartScreen interroge d'abord la réputation du domaine hébergeur (pas uniquement du certificat). Un domaine d'entreprise établi (>2 ans, trafic régulier) bénéficie souvent d'une réputation suffisante pour éviter le blocage, même avec un certificat OV neuf.

Double signature Authenticode (SHA1 + SHA256)

Technique avancée pour maximiser la compatibilité et la réputation : signer vos binaires avec deux algorithmes simultanément. Windows 10+ supporte nativement les signatures doubles depuis 2015, mais l'usage reste marginal.

Commande SignTool pour double signature :

# Première signature SHA1 (compatibilité Windows 7)
signtool sign /sha1 CERT_SHA1 /fd SHA1 /t http://timestamp.digicert.com app.exe

# Seconde signature SHA256 (recommandée depuis 2023)
signtool sign /sha1 CERT_SHA1 /as /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 app.exe

Le paramètre /as (append signature) ajoute une seconde signature sans écraser la première. Bénéfices observés en 2026 :

  • Systèmes Windows 8.1 et antérieurs valident la signature SHA1
  • Windows 10+ privilégie automatiquement SHA256 (plus robuste cryptographiquement)
  • SmartScreen agrège les réputations des deux signatures : si l'une a déjà une réputation établie, l'autre en bénéficie partiellement

Cas d'usage réel : Une PME française développant un logiciel de gestion documentaire a réduit la période de blocage SmartScreen de 6 semaines à 11 jours en 2025 en réutilisant un ancien certificat SHA1 (expiré mais avec réputation historique) en double signature avec son nouveau certificat SHA256 EV. Microsoft conserve en cache la réputation des certificats expirés pendant environ 18 mois.

Dépannage : problèmes fréquents et solutions

Signature valide mais application toujours bloquée

Si signtool verify /pa confirme la validité mais SmartScreen bloque toujours :

  1. Vérifiez la chaîne de certificats complète :
    certutil -verify -urlfetch "C:\Chemin\App.exe"
    L'option -urlfetch force le téléchargement des certificats intermédiaires et CRL. Toute erreur indique un problème de chaîne de confiance.
  2. Contrôlez l'horodatage : un timestamp manquant ou utilisant un serveur non reconnu invalide la signature pour SmartScreen, même si Windows l'accepte localement. Vérifiez dans les propriétés du fichier > Signatures numériques > Détails > Afficher le certificat > onglet « Horodatage ».
  3. Testez sur une machine propre : créez une VM Windows 11 fraîche, sans customisation ni GPO. Si l'avertissement disparaît, le problème vient d'une stratégie locale ou d'un antivirus tiers.

Certificat expiré mais signature toujours valide

Situation normale si l'horodatage est présent : la signature reste techniquement valide indéfiniment. Mais SmartScreen peut dégrader progressivement la réputation d'un certificat expiré.

Observations 2026 : un certificat expiré depuis plus de 6 mois voit sa réputation réduite de ~40%, même avec historique positif. Anticipez le renouvellement et re-signez vos applications distribuées au moins tous les 3 ans.

Application bloquée uniquement dans Edge/Chrome, pas dans l'Explorateur

Les navigateurs basés sur Chromium (Edge, Chrome, Brave) utilisent Google Safe Browsing en parallèle de SmartScreen. Si le fichier est bloqué au téléchargement mais s'exécute normalement depuis l'Explorateur :

  1. Soumettez le fichier à Google via transparencyreport.google.com/safe-browsing/search
  2. Vérifiez que l'URL de téléchargement n'est pas blacklistée (domaines récents, hébergement gratuit type GitHub Pages parfois flagués)
  3. Ajoutez des métadonnées MOTW (Mark of the Web) dans votre installeur pour clarifier l'origine : Zone.Identifier=3 (Internet) avec URL source explicite

Pour Edge spécifiquement, l'équipe IT peut configurer la stratégie SmartScreenAllowListDomains via Intune ou GPO pour exempter un domaine de confiance.