Korzystanie z certyfikatu do podpisywania kodu

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.

OV i Certyfikatów do podpisywania kodu EV nie należy instalować ręcznie na komputerze, co może powodować problemy z konfiguracją. Certyfikaty dostarczane na YubiKeys z SSL.com mogą być używane bez dodatkowej instalacji poza instalacją Minidriver do kart inteligentnych YubiKey i podłączenie tokena do komputera. Certyfikaty zamawiane przez zdalne poświadczenie należy pobrać i zainstalować na urządzeniu zawierającym klucz prywatny (np. YubiKey FIPS lub inny obsługiwany sprzęt), a nie w magazynie certyfikatów komputera.
Jeśli planujesz podpisać sterowniki systemu Windows 10 certyfikatem do podpisywania kodu EV, musisz to zrobić zarejestrować z programem Windows Hardware Developer.
Aby uzyskać instrukcje dotyczące korzystania z certyfikatu do podpisywania kodu OV / IV lub EV z Javą, zapoznaj się z naszym Podręcznik podpisywania kodu Java.

Podpisywanie pliku wykonywalnego za pomocą SignTool

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.

Dla EV 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”
  • Połączenia /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.
  • Połączenia /a opcja nakazuje SignTool automatyczne znalezienie odpowiedniego certyfikatu do podpisywania kodu dla pliku wykonywalnego.
  • Jeśli korzystasz z certyfikatu podpisującego kod EV, zostaniesz poproszony o podanie kodu PIN tokena USB. Jeśli potrzebujesz pomocy w znalezieniu kodu PIN, zapoznaj się z to instrukcje.Wpisz PIN
Uwaga: Jeśli podpisujesz pliki kodu, które zostaną uwzględnione w instalatorze (na przykład plik MSI systemu Windows), musisz podpisać te pliki przed utworzeniem instalatora, a następnie podpisać sam plik instalatora.

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 EV CS można znaleźć za pomocą narzędzia firmy Microsoft do zarządzania certyfikatami certmgr. Otwórz narzędzie z menu Start i poszukaj swojego certyfikatu EV CS w folderze „Osobiste” w sekcji „Certyfikaty”, jak pokazano na poniższym obrazku. Nazwa podmiotu to pole „Issued To” w 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"
Uwaga: Pamiętaj, aby użyć SignTool's /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.
Uwaga: Połączenia /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.
Uwaga: Domyślnie SSL.com obsługuje znaczniki czasu z kluczy ECDSA.

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, /sha1lub /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.

Podpisy cyfrowe

Tutaj widzimy, że plik zawiera ważny podpis cyfrowy, utworzony przez SSL Corp 28 czerwca 2020 r.

Szczegóły podpisu cyfrowego

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.

Pakiet kodu podpisu i znacznika czasu

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 aby podpisać kod. Jeśli ładujesz certyfikat z pliku PFX, będziesz musiał wprowadzić hasło do pliku. Jeśli korzystasz z certyfikatu podpisującego kod EV, 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.

Dziękujemy za wybranie SSL.com! W razie jakichkolwiek pytań prosimy o kontakt mailowy pod adresem Support@SSL.com, połączenie 1-877-SSL-SECURElub po prostu kliknij link czatu w prawym dolnym rogu tej strony.

Zapisz się do newslettera SSL.com

Nie przegap nowych artykułów i aktualizacji z SSL.com

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.