2012-06-18 26 views
6

Moja firma chce zapobiec popupowi UAC, które pojawia się, gdy klienci instalują nasz produkt. Kupiliśmy certyfikat od VeriSign (VeriSign Class 3 Code Signing 2010 CA) i otrzymałem plik MyCompany.cer.Jak podpisać MSI?

Zainstalowałem certyfikat, klikając go dwukrotnie i wybierając magazyn "Osobisty". Pojawia się teraz w snapinie Certyfikaty oraz kilku innych certyfikatach. Snapin mówi, że jego przeznaczeniem jest "Podpisywanie kodu". Otrzymałem skrót SHA1, kopiując odcisk palca.

próbuję podpisać msi z tym poleceniem:

signtool sign /sha1 <thumbprint> myInstaller.msi 

i dostać wiadomość „SignTool błąd. Nie certyfikaty stwierdzono, że spełnia wszystkie podane kryteria”

Jeśli zostawiam znak "/ sha1", otrzymam listę większości innych certyfikatów w sklepie - te, które mówią, że ich celem jest "<Wszystkie>" Mój certyfikat nie znajduje się na liście.

Co robię źle?

+0

możliwy duplikat [Jak mogę podpisać exes i biblioteki dll z moim certyfikatem podpisywania kodu] (http://stackoverflow.com/questions/2718776/how-do-i-sign-exes-and-dlls-with-my -code-signing-certificate) –

+0

Próbowałem wszystkiego w tym poście i innych, ale bezskutecznie. Zauważyłem, że element "Key Usage" na karcie Details ma małe żółte "!" symbol. Wartość to "Podpis elektroniczny (80)" – Sisiutl

Odpowiedz

2

To jest dość stary, ale mam nadzieję, że pomaga komuś.

Przede wszystkim trzeba sprawdzić, czy masz klucza prywatnego dla tego pliku cer, Jeśli go otworzyć powinieneś zobaczyć ikonę klucza gdzieś następnie zdaniu:

You have a private key for this certificate 

pamiętać, że to, co musi zainstalować certyfikat na tym samym komputerze, na którym wygenerowano parę de Key (i CSR). Oczywiście, jeśli nie masz prywatnego klucza, nic nie możesz podpisać.