2012-06-18 2 views
6

Mon entreprise veut empêcher le popup UAC qui apparaît lorsque les clients installent notre produit. Nous avons acheté un certificat auprès de VeriSign (VeriSign Classe 3 Code Signing 2010 CA) et j'ai obtenu un fichier MyCompany.cer.Comment signer un MSI?

J'ai installé le certificat en double-cliquant dessus et en sélectionnant le magasin "Personnel". Il apparaît maintenant dans le snapin Certificats, avec plusieurs autres certificats. Le snapin dit que son but est "Code Signing". J'ai obtenu le hachage SHA1 en copiant l'empreinte digitale.

J'essaie de signer le msi avec cette commande:

signtool sign /sha1 <thumbprint> myInstaller.msi 

et obtenir un message « SignTool Erreur: Aucun certificat n'a été trouvé qui répondait à tous les critères donnés. » Si j'abandonne le "/ sha1" j'obtiens une liste de la plupart des autres certs dans le magasin - ceux qui disent que leur but prévu est "<Tous>" Mon CERT n'est pas énuméré.

Qu'est-ce que je fais mal?

+0

duplication possible de [Comment puis-je signer exes et dll avec mon certificat de signature de code] (http://stackoverflow.com/questions/2718776/how-do-i-sign-exes-and-dlls-with-my -code-signature-certificat) –

+0

J'ai tout essayé dans ce poste et d'autres mais en vain. J'ai remarqué que l'élément "Key Usage" dans l'onglet Details a un petit "!" symbole. La valeur est "Signature numérique (80)" – Sisiutl

Répondre

2

Ceci est assez vieux mais j'espère que cela aide quelqu'un.

Tout d'abord, vous devez vérifier que vous avez une clé privée pour ce fichier .cer, Si vous l'ouvrez, vous devriez voir une icône clé quelque part suivie par la phrase:

You have a private key for this certificate 

Notez que ce que vous doit installer le certificat dans le même ordinateur où de paire de clés (et le CSR) ont été générés. Évidemment, si vous n'avez pas de clé privée, vous ne pouvez rien signer.