WinQual: Pourquoi WER n’accepterait-il pas les certificates de signature de code?

Modifier au 24/01/2015 : Il n’est pas possible d’utiliser d’autres autorités de certificateion de confiance maintenant. La question et la réponse ne sont pas obsolètes:

WinQual refuse toujours la signature:

entrer la description de l'image ici

lorsque nous avons déjà établi qu’il s’agit d’une signature numérique valide:

entrer la description de l'image ici

Pour être complet, je laisserai l’édition ci-dessous que quelqu’un d’autre a fait; juste pour montrer à quel point il avait tort. Et il peut vivre avec cette honte:


Modifier à partir de 2014: il est possible d’utiliser d’autres autorités de certificateion de confiance maintenant. La question et la réponse sont obsolètes.


En 2005, j’ai essayé d’établir un compte WinQual avec Microsoft, afin de pouvoir récupérer nos fichiers de vidage sur incident (le cas échéant) soumis automatiquement via Windows Error Reporting (WER). Je n’ai pas été autorisé à avoir mes vidages sur incident, car je n’ai pas de certificate Verisign. Au lieu de cela, j’en ai un moins cher, généré par une filiale de Verisign: Thawte.


La méthode à laquelle vous adhérez est la suivante: vous signez numériquement un exemple d’exe fourni. Cela prouve que vous êtes le même signataire que celui qui a signé des applications qui ont été téléchargées depuis la nature.

Cryptographiquement, la clé privée est nécessaire pour générer une signature numérique sur un exécutable. Seul le détenteur de cette clé privée peut créer une signature avec la clé publique correspondante. Peu importe qui a généré cette clé privée. Cela comprend les certificates générés à partir de:

  • auto-signature
  • Wells Fargo
  • DigiCert
  • SecureTrust
  • Trustware
  • QuoVadis
  • Allez papa
  • Confier
  • Cybertrust
  • GeoTrust
  • GlobalSign
  • Comodo
  • Thawte
  • Verisign

Pourtant, WinQual de Microsof accepte uniquement les certificates numériques générés par Verisign. Même les filiales de Verisign ne suffisent pas (Thawte).

Quelqu’un peut-il penser à une raison technique, juridique ou éthique pour laquelle Microsoft ne veut pas accepter les certificates de signature de code? Le site WinQual dit:

Pourquoi un certificate numérique est-il requirejs pour l’adhésion à Winqual?

Un certificate numérique aide à protéger votre entreprise contre les personnes qui cherchent à se faire passer pour un membre de votre personnel ou qui commettraient des actes de fraude contre votre entreprise. L’utilisation d’un certificate numérique permet de prouver l’identité d’une personne ou d’une organisation.

Un certificate numérique Thawte n’est-il pas sécurisé?


Deux ans plus tard, j’ai envoyé un avis de rappel à WinQual que j’attendais pour pouvoir accéder à mes crash dumps. La réponse de l’équipe WinQual était la suivante:

Bonjour,

Merci pour le rappel. Nous avons informé les personnes concernées qu’il s’agissait toujours d’une demande.


En 2008, j’ai posé cette question dans un forum de support Microsoft et la réponse a été la suivante:

Nous sums seulement configurés pour accepter les certificates VeriSign à ce stade. Nous n’avons pas eu une demande écrasante pour prendre en charge d’autres types de certificates.

Que peut-il signifier de ne pas être “configuré” pour accepter d’autres types de certificates?

Si l’empreinte de la clé qui a signé l’application de test WinQual.exe est la même que celle qui a signé l’exécutable et que vous écrasez, vous êtes dans la nature: c’est prouvé – ce sont mes crash dumps, donnez-les moi.

Et il n’est pas comme il existe une API spéciale pour vérifier si une signature numérique Verisign est valide, par opposition à toutes les autres signatures numériques. Une signature valide est valide, peu importe qui a généré la clé.

Microsoft est libre de ne pas faire confiance au signataire, mais ce n’est pas la même chose que l’identité.


C’est donc ma question, quelqu’un peut-il penser à une raison pratique pour laquelle WinQual n’est pas configuré pour prendre en charge les signatures numériques?

Une personne a théorisé que la réponse est qu’ils sont juste paresseux:

Non pas que je sache, mais je suppose que l’équipe qui gère le système winQual est une équipe en direct et non une équipe de développement – comme la personnalité et les compétences axées sur la maintenance des systèmes existants. Je pourrais toutefois avoir tord.

Ils ne veulent pas travailler pour le changer. Mais peut-on penser à quelque chose qui devrait être changé? C’est la même logique, peu importe ce qui a généré la clé: “fait correspondre l’empreinte”.

Qu’est-ce que je rate?


Mettre à jour

Il est agréable d’entendre les histoires d’autres développeurs. De cette façon, je sais que je ne suis pas le seul, et la question peut servir de véhicule au changement chez Microsoft. Et même si mon intention initiale était une plainte, afin de garder cette question StackOverflow valide, je cherche une raison technique pour laquelle Microsoft ne pouvait accepter que des certificates Verisign.

L’API crypto ne se soucie pas du nom de la société qui a émis un certificate: elle se soucie uniquement du fait que la chaîne de signataires renvoie à une racine approuvée.

Que pourrait-il se passer que Microsoft en particulier n’utilise pas l’infrastructure cryptographique établie, mais se limite plutôt à Verisign?

Si quelqu’un pouvait indiquer une entrée de blog, où un responsable de programme ou un développeur explique pourquoi , je serais peut-être satisfait.


Mise à jour deux

Les gens semblent manquer le but de ma question. Windows dispose déjà de l’infrastructure de code pour garantir qu’un certificate de signature numérique est approuvé par une autorité racine. Voici une capture d’écran d’une signature numérique sur l’un de nos exécutables signés.

Vous pouvez voir que notre certificate a été signé par le certificate d’autorité de signature de code de Thawte, lui-même signé par Thawte:

alt text http://i34.tinypic.com/2hi2cr8.jpg

Et le certificate “thawte” est livré par défaut avec Windows:

alt text http://i38.tinypic.com/ydfr.jpg

Thawte Premium Server CA est assez bon pour que chaque copie de Windows et Internet Explorer lui fasse déjà confiance. Et il existe déjà une API établie pour vérifier si un certificate est valide (c’est-à-dire fiable).

Lorsque les gars de WinQual sont venus, ils auraient dû se mettre en quatre pour éviter de vérifier la bonne manière et au lieu de cela, ils ont lancé leur propre solution, codant uniquement Verisign en tant que racine de confiance. Pourquoi feraient-ils tout leur possible pour ignorer les autres autorités racine de confiance, les autorités livrées sur la machine Windows sur laquelle s’exécute leur code et au lieu de cela, coder en dur Verisign?

Plutôt que de le faire comme tout le monde (Windows Explorer, Firefox, Chrome, Internet Explorer, Opera, CertMgr, etc.), ils n’autorisent que Verisign. Et ma question est pourquoi.

Why would WER not accept code-signing certificatees?

Si c’était simplement:

  • parce que le gars qui l’a écrit à l’origine ne connaissait pas la bonne façon
  • et plutôt que de passer beaucoup de temps à étudier la bonne manière
  • il a juste jeté quelque chose ensemble
  • et juste pour tester, il a codé en dur juste le seul signataire
  • avec la ferme intention de revenir plus tard et de le réparer
  • mais le code fonctionne maintenant
  • et il est allé vivre sans être fixé
  • et personne ne veut prendre la responsabilité de le casser
  • et personne ne veut dépenser de l’argent pour le réparer
  • et pas assez de clients se plaignent d’en faire une priorité
  • et même si beaucoup de gens se plaignaient, il ne leur en coûterait que 99 dollars pour acheter un Verisign
  • alors ne pouvez-vous pas simplement laisser tomber et acheter un Verisign?

…ça serait bien. Sauf que je ne le crois pas. Je ne crois pas que ce soit un code de test qui a été transformé en production. J’ai l’impression que c’est une décision consciente et spécifique qui les a fait ignorer les autres signataires. Et qu’ils ne font et ne continueront à honorer que Verisign.

Mais pour la vie de moi je ne peux pas penser à la raison.

Je viens juste de m’inscrire à WinQual et j’ai réfléchi à cette question. Je pense que j’ai maintenant la réponse.

En bref: ils n’utilisent pas VeriSign comme certificate: ils ne font que sous-traiter la tâche de vérification de votre identité.

Microsoft ne souhaite pas que vous ayez access au site WinQual sans vérifier au préalable votre identité. Ils ont donc besoin d’un processus de vérification d’identification.

Ils pourraient avoir un service qui vous facturerait 99 $ et effectuer la vérification. Mais ils ont déjà des avoirs importants dans VeriSign, qui a déjà du personnel capable de le faire. Ils utilisent donc le processus d’inscription au certificate pour vérifier votre identité. Il n’utilise pas du tout le certificate, il ne fait que confier à VeriSign la tâche de vous vérifier.

Notez qu’ils ne vous obligent pas à continuer à conserver un certificate VeriSign pour conserver votre compte: il ne s’agit que d’un abonnement unique pour rejoindre le site.

Comme Microsoft vérifie votre identité et qu’ils font confiance à VeriSign parce qu’ils n’ont pas trop confiance dans Comodo, ils veulent que vous utilisiez VeriSign à cette fin, et non pas un autre certificate. Cela semble un peu idiot du sharepoint vue du développeur, mais je peux le comprendre de leur sharepoint vue.

Eh bien, je viens de poster une autre demande en leur disant que nous ne participerions pas à moins qu’ils acceptent la certificateion Comodo Code Signing.

Microsoft nous a contactés pour nous faire savoir que nous avions des rapports sur Windows 7, mais nous ne pouvons pas nous connecter car nous n’utilisons pas Verisign. Ok, vous m’avez contacté … Combien plus authentifié dois-je être?

J’ai contacté le chef de produit, nous verrons ce qui se passe.

Et pour répondre à votre question semi-rhétorique ci-dessus – il n’y a AUCUNE raison pour laquelle ils ne peuvent pas authentifier d’autres fichiers EXE signés. Windows le fait, IE le fait, le code est déjà là. Ils n’ont rien à faire pour le soutenir.

METTRE À JOUR:

Après avoir parlé avec le représentant de Microsoft, on m’a dit que vous devez acheter au minimum le certificate de $ 99 versign pour “valider” et obtenir vos rapports de bogue. Boiteux.

Après avoir signé le code et récemment signé Winqual, voici quelques précisions:

  1. Pour l’inscription (inscription) Winqual, votre signature elle-même n’est pas vérifiée par rapport à la firebase database Winqual. Winqual vérifie uniquement le certificate de VeriSign qui prouve que VeriSign a vérifié votre identité. Ensuite, ils obtiennent votre nom de société de votre signature.

  2. Dans l’étape suivante, vous devez créer un ou plusieurs “fichiers de mappage de produit” (à l’aide d’un outil de Microsoft) et les télécharger sur Winqual. Après cela, les serveurs Winqual vérifient plusieurs téraoctets de firebase database de crash sur tous les fichiers cartographiques et vous fournissent une liste des “événements”. (La signature que vous avez utilisée pour la signature de code est donc sans importance.)

  3. Il n’ya aucune raison technique pour laquelle Microsoft n’accepte pas d’autres autorités de certificateion. Mais: comment pourraient-ils en bénéficier? Il y a aussi un programme d’offre spéciale pour obtenir un certificate de signature de code d’un an auprès de VeriSign pour seulement 99 $, et si vous le comparez au coût d’une chaîne d’outils de développement ou d’un abonnement MSDN / TechNet, ce n’est pas tout à fait cher.

  4. Dans notre cas, obtenir le certificate de VeriSign était simple et rapide – le processus complet s’est achevé en deux jours. (Nous ne sums pas aux États-Unis, donc je m’attendais à des retards.) [Juste pour clarifier: vous générez vous-même votre signature, qui comprend un company_private_key (utilisé pour la signature) et un company_public_key (pour vérifier votre signature de code). Toute autorité de certificateion (telle que VeriSign) ne fait que contre-signer votre société_public_key avec sa clé privée. Cela rend votre certificate vérifiable.]

  5. Nous ne savions pas que le certificate VeriSign $ 99 pouvait également être utilisé pour la signature de code (il ne s’agit pas uniquement d’un identifiant d’organisation). Donc, au départ, nous avons opté pour une autre autorité de certificateion pour la signature de code. Ensuite, nous avons obtenu un certificate VeriSign pour l’enregistrement Winqual.

  6. Microsoft publie sur WHDC et Winqual les informations dont les fournisseurs de signature sont acceptés pour quel type de signature. Vous ne pouvez pas vraiment leur reprocher de ne pas lire ceci avant de recevoir un certificate d’un autre CA, n’est-ce pas?

J’espère que cela pourrait aider à faire la lumière.

Même chose ici, je certifie une application pour le logo Win7 afin d’obtenir les points pour le programme MS Partnership. J’ai acheté le certificate de signature de code Comodo. L’application a réussi le test et maintenant j’essaie de configurer un compte Winqual et après avoir d’abord été énervé d’avoir à acheter un autre certificate de signature, j’ai eu un délai de 5 jours en essayant d’acheter réellement ce “certificate d’organisation” pour 99 $. Pas question de “l’ inscription de certificate SSL de VeriSign est temporairement indisponible. Veuillez réessayer plus tard. “, Et le support pourrait bien être le pire que j’ai jamais rencontré. OMG … s’il vous plaît essayez au moins de lire la description du problème ou même essayer de reproduire les étapes, ne me donnez pas juste une solution de base de connaissances stupide pour un autre problème. Ou simplement dire que le service n’est pas disponible, il sera disponible dans 5 jours. Si frustrant …

Juste une mise à jour si quelqu’un a le même problème, j’ai finalement obtenu la réponse au problème d’inscription et j’ai passé la commande. (Je suppose que vous devez trouver le bon gars dans le support technique 🙂

“Nos sincères excuses. Cette erreur est due à un bogue lors de l’inscription au certificate d’organisation. Cette erreur se produira si un pays autre que les Etats-Unis est entré dans la section” Informations sur le certificate “(3ème étape) de l’inscription. aux ingénieurs qui travaillent actuellement à la réparation.En attendant, vous pouvez faire ce qui suit pour surmonter l’erreur et compléter votre inscription: Dans la partie “Informations sur le certificate” de l’inscription, entrez le pays comme “États-Unis” et l’état comme “Californie”. Toutes les autres informations peuvent être correctes. Une fois l’inscription terminée, envoyez-nous le numéro de commande de votre certificate ainsi que les valeurs de pays et d’état correctes pour votre entreprise en réponse à cet e-mail. commande dans notre système et saisissez les valeurs correctes de votre entreprise et de votre pays avant d’émettre le certificate. Le certificate que nous vous envoyons contiendra alors les informations correctes. “

Ha! J’ai rencontré exactement le même schéma avec notre certificate Comodo. C’est un comportement d’intimidation typique, leurs réponses sont un non-sens complet. En tout cas, je me méfie plus de Verisign que de Comodo, Thawte, etc. N’oublions pas ce qu’ils ont essayé il y a un moment .

Nous avons eu le même problème. Ils n’accepteraient pas un certificate de signature de code Comodo. Il est fort probable qu’elle augmente les revenus de son groupe (VeriSign / VeriTest, propriété de MS). Je ne crois pas qu’ils n’aient pas eu beaucoup de demandes d’utilisation de certs non-VeriSign. Mais quel choix avez-vous ….?

Le problème est en réalité plus profond.

Pour conserver un statut particulier, une recertificateion de l’un de nos produits devait avoir lieu. Bien sûr, cela ne peut se faire que par VeriTest. Pour économiser de l’argent et être en mesure de répondre aux problèmes avant qu’ils ne les remarquent, nous avons décidé de choisir l’option d’auto-test qui nous permet de tester notre logiciel nous-mêmes avec des outils appelés «Works with» de Microsoft.

Bien que la documentation indique que vous devez avoir tous vos codes binarys signés avec un certificate Authenticode pour passer la vérification pour Windows Server 2008 R2, personne ne mentionne que cette option est en fait facultative et n’aura pas d’impact sur les résultats du test la page du rapport indiquant que cette étape est facultative et n’a pas d’impact sur les résultats du test).

Cependant, jusque-là, nous avions déjà acheté un certificate Comodo, car il ne représentait qu’un quart du prix d’un certificate VeriSign et fait de même.

Peu après une recertificateion réussie, nous avons eu connaissance de l’événement de lancement virtuel de Microsoft et de la possibilité d’y participer (ce qui est une excellente chose). Cependant, pour vous inscrire, nous devons entrer dans WinQual et devinez quoi … pour cela, nous avons bien sûr besoin d’un certificate d’entreprise VeriSign WinQual (au moins).

Ce qui est vraiment amusant maintenant, c’est que pendant au moins deux jours, le site Web VeriSign correspondant n’était pas disponible. Depuis trois jours, il n’est plus possible d’obtenir un tel certificate et jusqu’à présent, ils n’ont même pas répondu aux demandes d’assistance.

Ne serait-ce pas génial si une autre entreprise commençait à héberger une plate-forme similaire à WinQual, sauf qu’elle accepte en effet des certificates de TOUS les éditeurs sérieux?

Joel … Jeff, vas-y. C’est quelque chose pour vous:

“[…] exhandler.com est comme Winqual, mais sans le mal.”