Ta strona internetowa zawiera instrukcje dotyczące korzystania z SSL.com OV or EV certyfikat podpisywania kodu za pomocą SignTool firmy Microsoft i SSL.com SSL Manager.
W tych instrukcjach przyjęto założenie, że certyfikat podpisywania kodu został zainstalowany lub że masz go na tokenie sprzętowym. Aby uzyskać informacje na temat podpisywania kodu w chmurze przy użyciu platformy eSigner, zapoznaj się z sekcją strona przegląd i to przewodnik rejestracji.
Pamiętaj, że dla sprzętowych certyfikatów podpisywania kodu OV i EV klucz prywatny istnieje tylko na tokenie USB YubiKey FIPS to zostało wysłane do ciebie i że token musi być dołączony na komputerze używanym do podpisywania aplikacji. Użytkownicy systemu Windows z tokenami YubiKey FIPS powinni również pobrać i zainstalować Minidriver do kart inteligentnych YubiKey przed użyciem ich tokena.
Podpisywanie pliku wykonywalnego za pomocą Yubikey
Zainstalować Windows SDK i SignTool
SignTool jest dołączony do Zestaw Windows 10 SDK. Po instalacji SignTool będzie znajdować się pod:
C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe
Start PowerShell
Początek PowerShell okno poleceń, wyszukując „Powershell” w pliku Start menu i kliknięcie aplikacji komputerowej.
Powershell to interfejs wiersza poleceń do podstawowych usług systemu Windows. Możesz go użyć do wykonania SignTool i podpisania swojego kodu.
W razie zamówieenia projektu kod podpisując, podłącz token USB do komputera (jeśli jeszcze tego nie zrobiłeś). Jeśli używasz eSigner, zainstaluj Adapter klucza chmury eSigner
Pamiętaj, że klucz prywatny istnieje tylko na tokenie USB, który został do Ciebie przesłany token musi być dołączony na komputer używany do podpisania aplikacji. Ten krok należy pominąć, jeśli używasz certyfikatu do podpisywania kodu OV.
Znak Plik wykonywalny
Możesz podpisać plik wykonywalny, wydając następujące polecenie w oknie Powershell. Jeśli używasz podpisu eSigner w chmurze z signtool.exe, pamiętaj, aby zainstalować e-podpis CKA
. \ signtool.exe sign / fd sha256 / a „C: \ ścieżka \ do \ MyExecutable.exe”
- Opona
/fd
Opcja wybiera algorytm skrótu do użycia podczas podpisywania. Windows 10 SDK, HLK, WDK i kompilacje ADK 20236 i wyżej wymagają ustawienia tej opcji podczas podpisywania. SHA256 jest zalecany przez SHA1 ze względów bezpieczeństwa. - Opona
/a
opcja nakazuje SignTool automatyczne znalezienie odpowiedniego certyfikatu do podpisywania kodu dla pliku wykonywalnego. - Zostaniesz poproszony o podanie kodu PIN tokena USB. Jeśli potrzebujesz pomocy w znalezieniu kodu PIN, zapoznaj się z sekcją to instrukcje.
Wybór certyfikatu podpisywania
Określ nazwę podmiotu
Jeśli masz zainstalowany więcej niż jeden token USB podpisujący kod lub certyfikaty, możesz to zrobić podać certyfikat chcesz użyć, włączając to Nazwa przedmiotu za pośrednictwem /n
opcja.
Nazwę podmiotu certyfikatu można znaleźć za pomocą narzędzia do zarządzania certyfikatami firmy Microsoft certmgr. Otwórz narzędzie z menu Start i poszukaj swojego certyfikatu w folderze „Osobiste”, w sekcji „Certyfikaty”, jak pokazano na obrazku poniżej. Nazwa podmiotu znajduje się w polu „Wydano dla” w pliku certmgr.
Na powyższym obrazku Nazwa podmiotu certyfikatu to example
. Możesz określić tę wartość w SignTool za pomocą następującego polecenia.
. \ signtool.exe sign / fd sha256 / n "przykład" "C: \ ścieżka \ do \ MyExecutable.exe"
Określ skrót SHA1
Jeśli masz wiele certyfikatów z tą samą nazwą podmiotu, możesz również użyć skrótu SHA1 (lub „odcisku palca”) certyfikatu, aby wybrać go do podpisania. Zastąpić THUMBPRINT
w poniższym poleceniu z aktualnym skrótem SHA1 Twojego certyfikatu. Możesz znaleźć tę wartość, przeglądając szczegóły certyfikatu w certmgr i wyszukując plik Thumbprint
pole (pamiętaj i usuń wszelkie znaki spacji z odcisku palca przed użyciem go w poleceniu).
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ ścieżka \ do \ MyExecutable.exe"
Użyj pliku PKCS # 12 / PFX
Jeśli masz certyfikat podpisujący kod i klucz prywatny w pliku PKCS # 12 (znanym również jako plik PFX lub P12), możesz określić plik i jego hasło w wierszu poleceń:
. \ signtool.exe sign / fd sha256 / f "C: \ ścieżka \ do \ MyCertificate.pfx" / p hasło "C: \ ścieżka \ do \ MyExecutable.exe"
Znacznik czasowy
Znacznik czasu w kodzie pozwoli mu być zaufanym po wygaśnięciu certyfikatu podpisującego kod. Jeśli chcesz dodać znak czasu w podpisanym pliku binarnym, możesz to zrobić za pomocą SignTool's /tr
opcji, po której należy ustawić algorytm skrótu sygnatury czasowej za pomocą /td
. Polecenie w poniższym fragmencie zawiera sygnaturę czasową od SSL.comusługa znacznika czasu podczas podpisywania pliku wykonywalnego.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ ścieżka \ do \ MyExecutable.exe"
/tr
opcja (podaj adres URL serwera znaczników czasu RFC 3161), nie /t
(Adres URL serwera znaczników czasu), który jest niezgodny z serwerem znaczników czasu SSL.com./td
opcja musi Podążaj za /tr
opcja. Jeśli algorytm skrótu znacznika czasu zostanie określony przed serwerem znacznika czasu, zostanie użyty domyślny algorytm SHA-1. Windows 10 SDK, HLK, WDK i kompilacje ADK 20236 i wyżej wymagają użycia /tr
podczas oznaczania czasu. Ze względów bezpieczeństwa zalecany jest SHA256 zamiast SHA1.Jeśli napotkasz ten błąd:
The timestamp certificate does not meet a minimum public key length requirement
, należy skontaktować się z dostawcą oprogramowania, aby zezwolił na sygnatury czasowe z kluczy ECDSA.Jeśli nie ma możliwości, aby dostawca oprogramowania zezwolił na użycie normalnego punktu końcowego, możesz użyć tego starszego punktu końcowego
http://ts.ssl.com/legacy
aby uzyskać znacznik czasu z jednostki znacznika czasu RSA.Inne opcje
Inne ważne opcje SignTool to:
/d
: Dodaj opis podpisanego kodu. Na przykład,/d "test code"
./du
: Dodaj adres URL z rozszerzonym opisem podpisanego kodu. Na przykład,/du https://your_website.tld/project/description
.
Korzystanie ze wszystkich powyższych opcji (z pominięciem /a
, /sha1
lub /f
ponieważ nazwę podmiotu certyfikatu określamy za pomocą /n
, nasza linia poleceń wygląda następująco:
signtool.exe sign / n "example" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "test code" / du https: //twoja_witryna.tld/project/description "C: \ ścieżka \ do \ MyExecutable.exe "
Zweryfikuj podpis
Użyj tego polecenia, aby zweryfikować podpisany kod (zwróć uwagę, że plik /pa
opcja musi być obecna w poleceniu):
. \ signtool.exe weryfikacja / pa "C: \ ścieżka \ do \ MyExecutable.exe"
Jeśli twój plik został pomyślnie podpisany, powinieneś zobaczyć takie dane wyjściowe:
Plik: C: \ ścieżka \ do \ MyExecutable.exe Indeks algorytmu Sygnatura czasowa ===================================== ===== 0 sha256 RFC3161 Pomyślnie zweryfikowano: C: \ ścieżka \ do \ MyExecutable.exe
Możesz również sprawdzić, czy plik został podpisany, klikając prawym przyciskiem myszy jego ikonę i wybierając Właściwości z menu, a następnie wybierając plik Podpisy cyfrowe patka. Wyświetl szczegóły dotyczące podpisu, zaznaczając go i klikając Szczegóły przycisk.
Tutaj widzimy, że plik zawiera ważny podpis cyfrowy, utworzony przez SSL Corp 28 czerwca 2020 r.
Podpisywanie pliku wykonywalnego za pomocą SSL Manager
Jeśli wolisz podejście oparte na grafice, możesz użyć SSL.comwłasne oprogramowanie, SSL Manager, aby podpisać swoje pliki. Wielu klientów woli z nich korzystać SSL Manager ponieważ oferuje dodatkową korzyść w postaci łatwego dostępu do wszystkich certyfikatów w jednym ujednoliconym interfejsie. Aby uzyskać instrukcje dotyczące pobierania i instalowania SSL Manager, zapoznaj się z naszym przewodnik instalacji.
Aby podpisać plik wykonywalny, zacznij od wybrania Podpisywanie kodu> Pakiet kodu podpisu i znacznika czasu od SSL Managermenu.
W formularzu podpisywania kodu możesz wybrać plik wykonywalny i certyfikat podpisu kodu (z pliku lub magazynu certyfikatów) i jeden z dostępnych serwerów znaczników czasu. Po zakończeniu kliknij Znak przycisk do podpisania kodu. Zostaniesz poproszony o podanie kodu PIN tokena USB.
Oprócz podpisywania kodu, SSL Manager oferuje wiele zaawansowanych funkcji. Aby uzyskać więcej informacji, zobacz SSL Managerdokumentacja, szczególnie Menu podpisywania kodu.
Podpisywanie kodu za pomocą tokena USB Thales SafeNet (Gemalto).
W tej sekcji pokazano, jak podpisywać kod przy użyciu certyfikatu podpisywania kodu SSL.com, tokena USB Thales SafeNet (Gemalto) i klienta uwierzytelniania Safenet.
Token Thales SafeNet może przechowywać wszystkie typy certyfikatów podpisywania kodu SSL.com i ich klucze prywatne. Należą do nich certyfikaty podpisywania kodu tożsamości osobistej, certyfikaty podpisywania kodu w ramach walidacji organizacji i certyfikaty podpisywania kodu w ramach funkcji Extended Validation.
Klient uwierzytelniania SafeNet to rozwiązanie warstwy pośredniej, które obsługuje kompleksową ofertę rozwiązań uwierzytelniających Thales SafeNet opartych na certyfikatach. Obejmuje to eTokeny, karty inteligentne SafeNet IDPrime, SafeNet IDPrime Virtual i kombinacje PKI/Urządzenia FIDO.
Instrukcje dotyczące zmiany hasła do podpisywania kodu dla tokenów Thales SafeNet (Gemalto) lub odzyskiwania dostępu do zablokowanego tokena można znaleźć w tym artykule SSL.com: Jak zmienić hasło do tokena Thales SafeNet/Gemalto
wymagania
- Zestaw deweloperski systemu Windows zainstalowany na twoim komputerze
- SafeNet Authentication Client zainstalowany na Twoim komputerze. Instrukcje znajdziesz w tym przewodniku SSL.com: Pobierz klienta uwierzytelniania SafeNet dla certyfikatów podpisywania kodu
- Token Thales SafeNet zawierający preinstalowany certyfikat podpisywania kodu SSL.com. Token Thales SafeNet należy aktywować, wykonując następujące kroki:
- Znajdź numer seryjny swojego tokena Thales. Jest to ciąg liter i cyfr wydrukowanych na powierzchni Twojego tokena.
- Zaloguj się na swoje konto SSL.com.
- Kliknij Zamówienia kartę, po której następuje pobieranie link do zamówienia certyfikatu, aby wyświetlić jego szczegóły. Na fizyczne tokeny sekcji, aktywuj swój token Thales, umieszczając jego numer seryjny w wyznaczonym polu. Po aktywacji tokena Thales, fizyczne tokeny sekcja wyświetli Twoje Aktywacja PIN-u i PIN administratora, PIN administratora jest również znany jako Hasło tokenowe i zostaniesz poproszony o wprowadzenie tego podczas podpisywania pliku.
Kroki, aby podpisać kod tokenem Thales SafeNet
- Podłącz Token Thales SafeNet na Twój komputer.
- Otwarte Klient uwierzytelniania Safenet.
- Skonfiguruj polecenie do podpisywania kodu:
narzędzie do znakowania znak /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PATH_OF_FILE_TO_BE_SIGNED"
Legenda:
/ fd sha256 wybiera algorytm podsumowania, który będzie używany podczas podpisywania.
/tr http://ts.ssl.com określa adres serwera znaczników czasu
/td sha256 określa algorytm skrótu znacznika czasu
/a instruuje SignTool, aby automatycznie znalazł odpowiedni certyfikat podpisywania kodu dla Twojego pliku.
możliwa do podpisania ścieżka pliku: Ścieżka pliku powinna być ujęta w podwójny cudzysłów. Pamiętaj, aby w ścieżce podać nazwę pliku, który można podpisać. Przykład: /plik testowy.dll
Note: Niektórzy użytkownicy mogą doświadczyć tego błędu przy poleceniu podpisania: „Signtool” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy. Rozwiązaniem tego błędu jest usunięcie tekstu narzędzie do znakowania z polecenia i zastąp go ścieżką do pliku Signtool.exe. Ścieżkę należy ująć w podwójny cudzysłów.
Znak „C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe” /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a „C:\ Użytkownicy\Admin\Dokumenty\pliki testowe\plik testowy.dll"
- run Wiersz polecenia jako administrator i umieść polecenie podpisania. Następnie naciśnij Wchodzę.
- Zobaczysz wiadomość Zakończono dodawanie dodatkowego sklepu. Wkrótce po, zostaniesz poproszony o umieszczenie swojego Hasło tokenowe. Jak stwierdzono w wymagania w sekcji powyżej, Hasło Tokena jest takie samo jak hasło PIN administratora można to sprawdzić na stronie zamówienia certyfikatu SSL.com. Kliknij OK aby zakończyć podpisywanie kodu.
- Sukces! Twój plik jest teraz podpisany. Wiersz poleceń powiadomi Cię o pomyślnym podpisaniu.
Opcje kodu podpisującego
1. Określ nazwę podmiotu certyfikatu
Jeśli posiadasz wiele tokenów lub certyfikatów USB do podpisywania kodu, możesz wybrać, którego konkretnego certyfikatu chcesz użyć, włączając jego nazwę podmiotu za pomocą opcji /n.
Nazwę podmiotu certyfikatu możesz wyświetlić, klikając ikonę koła zębatego w kliencie uwierzytelniania SafeNet, aby włączyć widok zaawansowany. Następnie kliknij strzałkę dla Certyfikaty użytkownika aby wyświetlić wszystkie certyfikaty zainstalowane w tokenie. Skopiuj nazwę certyfikatu, którego chcesz użyć.
Polecenie znak za pomocą /n
opcja wygląda następująco. Nazwa podmiotu certyfikatu powinna być ujęta w podwójny cudzysłów.
Znak „PATH OF SIGNTOOL.EXE” /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n „NAZWA TEMATU CERTYFIKATU” „PATH_OF_FILE_TO_BE_SIGNED”
2. Określ odcisk palca certyfikatu
Jeśli posiadasz kilka certyfikatów o identycznej nazwie podmiotu, możesz rozróżnić i wybrać jeden do podpisania, korzystając z jego skrótu SHA1, zwanego powszechnie „odciskiem palca”. Aby to zrobić, zastąp ODCISK KCIUKA w poniższym poleceniu rzeczywisty skrót SHA1 certyfikatu.
Możesz wyświetlić wartość odcisku palca swojego certyfikatu, klikając ikonę koła zębatego w kliencie uwierzytelniania SafeNet, aby włączyć widok zaawansowany. Następnie kliknij strzałkę dla Certyfikaty użytkownika. Kliknij dwukrotnie certyfikat, którego chcesz użyć. Kliknij Szczegóły patka. Na koniec przewiń w dół do Odcisk kciuka pole.
W poleceniu znaku zamień tekst ODCISK KCIUKA z rzeczywistą wartością odcisku palca certyfikatu.
Znak „PATH OF SIGNTOOL.EXE” /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT „PATH_OF_FILE_TO_BE_SIGNED”
Sprawdź podpis
Możesz sprawdzić zastosowany podpis cyfrowy, klikając podpisany plik prawym przyciskiem myszy, aby zobaczyć jego właściwości.
- Kliknij Podpisy cyfrowe patka. Najedź myszką na Lista podpisów i kliknij wyświetlaną nazwę certyfikatu, aby ją podświetlić. Kliknij Szczegóły pole, aby kontynuować.
- Będziesz mógł zobaczyć nazwę certyfikatu użytego do podpisania pliku, a także datę i godzinę podpisania oraz sygnaturę czasową.