2012-06-18 33 views
6

La mia azienda vuole impedire il popup UAC che appare quando i clienti installano il nostro prodotto. Abbiamo acquistato un certificato da VeriSign (VeriSign Class 3 Code Signing 2010 CA) e ho ricevuto un file MyCompany.cer.Come firmare un MSI?

Ho installato il certificato facendo doppio clic su di esso e selezionando il negozio "Personale". Ora appare nello snap-in Certificati, insieme a diversi altri certificati. Lo snap-in dice che il suo scopo è "Code Signing". Ho ottenuto l'hash SHA1 copiando l'identificazione personale.

cerco di firmare il msi con questo comando:

signtool sign /sha1 <thumbprint> myInstaller.msi 

e ottenere un messaggio "Errore SignTool:. Non sono stati trovati i certificati in grado di soddisfare tutti i criteri indicati"

Se lascio il "/ sha1" ottengo un elenco della maggior parte degli altri certificati nello store - quelli che dicono che lo scopo previsto è "<Tutti>" Il mio certificato non è elencato.

Cosa sto sbagliando?

+0

possibile duplicato di [Come faccio a firmare exes e dll con il mio certificato di firma del codice] (http://stackoverflow.com/questions/2718776/how-do-i-sign-exes-and-dlls-with-my -code-signing-certificate) –

+0

Ho provato tutto in quel post e in altri ma senza successo. Ho notato che l'elemento "Uso chiave" nella scheda Dettagli ha un piccolo giallo "!" simbolo. Il valore è "Firma digitale (80)" – Sisiutl

risposta

2

Questo è piuttosto vecchio ma spero che aiuti qualcuno.

Prima di tutto è necessario verificare che si dispone di una chiave privata per il file con estensione cer, se lo si apre si dovrebbe vedere un icona della chiave da qualche parte seguito dalla frase:

You have a private key for this certificate 

Nota che ciò che si è necessario installare il certificato nello stesso computer in cui sono state generate la coppia di chiavi (e la CSR). Ovviamente se non hai una chiave privata, non puoi firmare nulla.

Problemi correlati