W tym samouczku pokazano, jak podpisywać pliki z wiersza polecenia systemu Windows za pomocą certyfikatu podpisywania kodu i klucza prywatnego przechowywanych w Azure Key Vault. Aby wykonać te instrukcje, będziesz potrzebować:
- An Konto platformy Azure
- A Magazyn kluczy
- A certyfikat podpisywania kodu zainstalowany w Key Vault. Możesz albo:
- Narzędzie Azure Sign Tool zainstalowany na komputerze, którego będziesz używać do podpisywania
Co to jest narzędzie Azure Sign Tool?
Narzędzie Azure Sign Tool to narzędzie typu open source, które oferuje ZnakNarzędzie funkcjonalność dla certyfikatów i kluczy przechowywanych w Azure Key Vault. Narzędzie Azure Sign Tool można zainstalować za pomocą następującego polecenia w programie Windows PowerShell (wymaga SDK .NET):
dotnet tool install --global AzureSignTool
Krok 1: Zarejestruj nową aplikację platformy Azure
Najpierw musisz zarejestrować nową aplikację platformy Azure, aby można było połączyć się z Key Vault w celu podpisania.
- Zaloguj się do Portal Azure.
- Nawigować do Azure Active Directory. (Kliknij Więcej usług jeśli ikona Azure Active Directory nie jest widoczna).
- Kliknij Rejestracje aplikacji, w lewej kolumnie.
- Kliknij Nowa rejestracja.
- Nadaj swojej aplikacji Nazwa i kliknij Zarejestruj się przycisk. W pozostałych ustawieniach pozostaw wartości domyślne.
- Twoja nowa aplikacja została zarejestrowana. Skopiuj i zapisz wyświetloną wartość Identyfikator aplikacji (klienta), ponieważ będziesz go potrzebować później.
- Kliknij Uwierzytelnianie.
- Pod Ustawienia zaawansowane, ustaw Zezwalaj na przepływy klientów publicznych do
Yes
.
- Kliknij Zapisz.
Krok 2: Utwórz klucz klienta
Następnie wygeneruj klucz klienta, który będzie służył jako poświadczenie podczas podpisywania.
- Kliknij Certyfikaty i tajemnice w menu po lewej stronie.
- Kliknij Nowy sekret klienta.
- Podaj tajemnicę swojego klienta Opis, ustaw czas wygaśnięcia zgodnie z potrzebami i kliknij Dodaj przycisk.
- Skopiuj wartość Twojego nowego klucza klienta natychmiast i zapisz go w bezpiecznym miejscu. Następnym razem, gdy strona zostanie odświeżona, ta wartość zostanie zamaskowana i nieodwracalna.
Krok 3: Włącz dostęp w Key Vault
Teraz musisz włączyć dostęp do swojej aplikacji w Azure Key Vault.
- Przejdź do Key Vault zawierającego certyfikat, którego chcesz użyć do podpisywania, i kliknij Zasady dostępu łącze.
- Kliknij Dodaj zasady dostępu.
- Pod Kluczowe uprawnienia, włączyć
Sign
.
- Pod Uprawnienia do certyfikatu, włączyć
Get
.
- Kliknij Nie wybrano link pod Wybierz głównego zobowiązanego, a następnie użyj pola wyszukiwania, aby zlokalizować i wybrać aplikację utworzoną w poprzedniej sekcji.
- Kliknij Wybierz przycisk.
- Kliknij Dodaj przycisk.
- Kliknij Zapisz.
- Twoja polityka dostępu jest ustawiona i możesz rozpocząć podpisywanie plików.
Krok 4: Podpisz plik
Teraz jesteś w końcu gotowy do podpisania kodu!
- Będziesz potrzebować następujących dostępnych informacji:
- Poniżej znajduje się przykładowe polecenie w programie PowerShell do podpisywania i oznaczania czasu pliku za pomocą narzędzia Azure Sign Tool. Zastąp wartości WIELKIMI LITERAMI rzeczywistymi informacjami:
azuresigntool sign -kvu KEY-VAULT-URI -kvc NAZWA-CERTYFIKATU -kvi APLIKACJA-IDENTYFIKATOR-KLIENTA -kvs KLIENT-SEKRET -tr http://ts.ssl.com/ -td sha256 ŚCIEŻKA-DO WYKONANIA
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ńcowegohttp://ts.ssl.com/legacy
aby uzyskać znacznik czasu z jednostki znacznika czasu RSA. - Jeśli podpisanie się powiedzie, powinieneś zobaczyć dane wyjściowe takie jak poniżej (nieudane podpisanie nie da wyniku):
info: AzureSignTool.Program [0] => Plik: test.exe Plik podpisywania test.exe info: AzureSignTool.Program [0] => Plik: test.exe Podpisywanie zakończone pomyślnie dla pliku test.exe. info PS C: \ Users \ Aaron Russell \ Desktop>
- Szczegóły dotyczące nowego podpisu cyfrowego będą dostępne we właściwościach pliku: