Comment puis-je signer un contrôle ActiveX avec un certificat de signature de code et un éditeur Verified?

StackOverflow https://stackoverflow.com/questions/2814233

Question

Je suis en train de signer un contrôle ActiveX avec un certificat de signature de code émis par Thawte. J'ai pu signer avec succès le contrôle en utilisant SignTool.exe.

Quand je regarde les propriétés du fichier, il dit: « Le certificat de la signature ne peut être vérifiée. »

Quand je regarde le certificat, il dit: « Windows ne dispose pas de suffisamment d'informations pour vérifier le certificat ».

Dans l'onglet chemin de certification, il dit: « L'émetteur de ce certificat ne peut pas être trouvé. »

Dans Internet Explorer, le certificat est reconnu comme signé mais l'utilisateur reçoit des avertissements que l'éditeur ne sont pas vérifiées.

Je l'ai essayé de créer un seul fichier contenant PFX mon certificat ainsi que les certificats racine et intermédiaires de cette chaîne à mon certificat de développeur Thawte, puis resigner le contrôle en utilisant ce fichier PFX. Pas de dés.

Toutes les suggestions?

Était-ce utile?

La solution

La question contient en fait la procedure-- correcte faire la signature à l'aide d'un fichier PFX contenant le certificat racine, certificat intermédiaire, certificat de développeur, et la clé privée. En outre, utiliser un serveur d'horodatage. Mon problème est que j'avais le certificat racine mal compris dans mon PFX, de sorte que le certificat utilisé pour signer la chaîne ne pouvait pas revenir à la racine.

Sur demande, voici les informations sur la façon de créer le fichier PFX. Le cert2spc et Pvk2pfx que j'utilise ci-dessous sont également dans le kit de développement de la plate-forme.

cert2spc certpath1.cer certpath2.cer certpath3.cer codesign.spc

Lorsque la liste des fichiers .cer comprend la racine, intermédiaire et certificats de signature de code, et codesign.spc est le fichier de sortie. Puis:

pvk2pfx -pvk privkey.pvk -spc codesign.spc

L'exécution Pvk2pfx de cette manière commence un assistant qui vous invite à entrer le mot de passe clé privée, et l'emplacement du fichier de sortie et le mot de passe pour le fichier de sortie.

Enfin, signtool fait la signature de code réel:

signtool sign /f my_certificates.pfx /p my_passphrase /t http://timestamp.verisign.com/scripts/timstamp.dll my_activex_control.ocx

Avec le recul, je aurais pu gagner du temps en utilisant signcode.exe alias l'assistant de signature de code (qui je pense fait partie du kit de développement .NET) qui utilise les fichiers .spc et .pvk directement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top