Microsoft Authenticode Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode wersja 1.1
Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 3. INSTALOWANIE CERTYFIKATU... 4 4. IMPORTOWANIE KLUCZY (PVK / SPC)... 5 5. IMPORTOWANIE KLUCZY (PFX)... 7 6. EKSPORT KLUCZA PRYWATNEGO I CERTYFIKATU... 11 7. PODPISYWANIE KODU W MICROSOFT AUTHENTICODE... 14 7.1. PODPISYWANIE ZA POMOC KREATORA... 14 7.2. PODPISYWANIE Z LINII POLECE... 22 8. WERYFIKOWANIE PODPISU... 23
1. Wstp Microsoft zaprezentował pierwsz wersj systemu Authenticode w MS Internet Explorer 3.0. System ten został zmodernizowany i poprawiony w Internet Explorer 4.0 i 5.x. CERTUM ma przyjemno zaproponowa Pastwu pełne wsparcie certyfikatów X.509 do tej technologii. Pełna dokumentacja znajduje si: http://msdn.microsoft.com/library/default.asp?url=/workshop/security/authcode/authenticode_node_entry.asp Uwaga: Authenticode pozwala na podpisywanie binariów (*.exe, *.dll, *.cab, *.cat, *.ocx, *.stl) tylko wtedy, gdy s one 32 bitowe. Starsze programy np. pliki wykonywalne pod 16 bitowy Windows 3.1 nie mog by podpisane. Do podisywania kodu w technologii Authenticode słuy aplikacja Signcode (do pobrania na stronach Microsoft). W celu uzyskania certyfikatu niezbdne jest równie uycie przegldarki Interenet Explorer w wersji 5 lub nowszej. Certyfikaty Authenticode mog by równie uywane w innych narzdzi do podpisywania oprogramowania (np. Microsoft Java SDK oraz Visual C++). Podpisany kod moe zosta równie oznaczony wiarygodnym czasem zgodnie ze standardami internetowymi i normami europejskimi. Usługi publiczne oznaczania czasem wg technologii Microsoft Authenticode wiadczone s nieodpłatnie (przy zastosowaniach na mała skal i niekomrecyjnych). Oznaczanie czasem wg tej niestandardowej technologii wymaga dodania parametru: -t http://time.certum.pl Naley pamita, aby zabezpieczy na dodatkowym noniku plik z kluczem prywatnym oraz certyfikat. 2. Tworzenie klucza prywatnego i certyfikatu Certyfikaty do podpisywania w technologii Authenticode pozyskuje si ze porednictwem przegldarki internetowej Internet Explorer. W celu uzyskania certyfikatu naley wypełni formularz, dostpny na stronach CERTUM (www.certum.pl). Zalecane jest, aby przed zakupem certyfikatu komercyjnego wypróbowa wersj testow (Private). Formularz naley wypełnia uwanie jest to istotne dla zawartoci przyszłego certyfikatu. Szybki przegld procesu certyfikacji: Dokładne wypełnij wszystkie dane w formularzu Wybierz rodzaj certyfikatu (Osoba prywatna / Producent oprogramowania) Wpisz nazw podmiotu UWAGA: Prosz wypełni j z uwag ta nazwa prezentowana jest odbiorcom podpisanego kodu jako nazwa producenta oprogramowania. Wybierz typ kryptografii i lokalizacj klucza: Na tym komputerze: W pierwszej metodzie klucz prywatny zostanie zapisany w rejestrze przegldarki, po otrzymaniu i zainstalowaniu certyfikatu bdzie on dostpny w magazynie certyfikatów skd mona bdzie go wyeksportowa do pliku *.pfx (patrz rozdział 6). Na dyskietce (PVK/SPC): W drugiej metodzie klucz prywatny zostanie zapisany na dysku twardym, domylnie jako a:\klucz.pvk. Zalecane jest dodatkowe zabezpieczenie tego pliku na noniku typu dyskietka, CD-ROM lub innym. Certyfikat Programisty otrzymany z CERTUM naley zachowa jako C:\cert.spc. Microsoft Authenticode Wstp 3
Na karcie kryptograficznej: ostatnia metoda słuy do generowania kluczy na karcie kryptograficznej. Wybranie tej metody uniemoliwia nam eksport certyfikatu z kluczem do pliku *.pfx (klucz prywatny nie moe opuci karty) Na adres poczty elektronicznej zostanie wysłany list zawierajcy dalsze instrukcje. Do wydania certyfikatu konieczne jest dostarczenie stosownych dokumentów szczegółów szukaj na stronach CERTUM. 3. Instalowanie certyfikatu Po otrzymaniu z CERTUM instrukcji dotyczcych instalacji naley uda si na wskazan stron i wybra opcj Instaluj certyfikat. Zostanie on automatycznie zainstalowany do rejestrów przegldarki. W przypadku, gdy klucz prywatny certyfikatu zapisywany był do pliku PVK i certyfikat ma zosta zapisany do pliku SPC, po instalacji certyfikatu naley przej do strony Wyszukiwania certyfikatów serwisu CERTUM, wyszuka certyfikat i wybra opcj Zapisz binarnie....i zapisujemy plik nr_seryjny.cer: UWAGA: Pobrany w ten sposób plik zawiera jedynie nasz certyfikat pozostałe certyfikaty CERTUM mona pobra z działu Obsługa certyfikatów -> Zawiadczenia i klucze. Rozszerzenie pliku mona zmieni na SPC. Microsoft Authenticode Instalowanie certyfikatu 4
4. Importowanie kluczy (PVK / SPC) Pliki w formacie PVK i SPC mog zosta umieszczone w rejestrach danego systemu. W tym celu naley uy narzdzia pvkimprt.exe (dostpnego na stronie Microsoftu). Po podaniu hasła klucza prywatnego...: pvkimprt a:\cert.spc a:\klucz.pvk... pojawi si Kreator importu certyfikatów: Microsoft Authenticode Importowanie kluczy (PVK / SPC) 5
Wskazujemy magazyn certyfikatów. Mona wybra Automatycznie wybierz..., lub Umie wszystkie... i wskaza na Osobiste: Kreator potwierdzi dane, które uzyskał podczas procesu importowania certyfikatu...:...i poinformuje nas o pomylnym zakoczeniu importu: Microsoft Authenticode Importowanie kluczy (PVK / SPC) 6
Poprawny import certyfikatu moemy zweryfikowa w programie Internet Explorer: Narzdzia -> Opcje internetowe -> Zawarto -> Certyfikaty... -> Osobisty. Moliwe jest równie uycie narzdzia certmgr.exe (dostpnego w pakiecie Microsoft.NET Framework Software Development Kit (SDK) 1.1), które po odpaleniu z linii polece przeniesie nas do magazynu naszych certyfikatów: 5. Importowanie kluczy (PFX) Aby importowa do rejestru klucze w postaci pliku (paczki) pfx naley klikn prawym przyciskiem myszki w plik i wybra Zainstaluj PFX...: Microsoft Authenticode Importowanie kluczy (PFX) 7
... lub uruchomi certmgr.exe: Podajemy nazw pliku z paczk: Microsoft Authenticode Importowanie kluczy (PFX) 8
Wpisujemy hasło chronice klucze i oznaczamy ten klucz jako eksportowalny...: Umieszczamy klucze w magazynie certyfikatów osobiste: Microsoft Authenticode Importowanie kluczy (PFX) 9
Kreator wywietli dane, które zebrał podczas procesu importowania paczki: Po czym poinformuje nas o pomylnym ukoczeniu importu: Microsoft Authenticode Importowanie kluczy (PFX) 10
6. Eksport klucza prywatnego i certyfikatu Aby wyeksportowa klucz prywatny z certyfikatem w postaci paczki pfx naley uruchomi menedera certyfikatów z linii polece. Wchodzimy w katalog, w którym został zainstalowany pakiet Authenticode i wywołujemy program certmgr.exe. Pojawi si znajome okno. Zaznaczamy interesujcy nas certyfikat i klikamy Eksportuj...: Zaznaczamy opcj Tak, eksportuj klucz prywatny: Microsoft Authenticode Eksport klucza prywatnego i certyfikatu 11
Zostawiamy domylne ustawienia: I wpisujemy hasło, które bdzie chroni klucz prywatny: Microsoft Authenticode Eksport klucza prywatnego i certyfikatu 12
Podajemy ciek i nazw pliku z paczk: Kreator potwierdzi dane wprowadzone podczas procesu eksportowania kluczy...: Microsoft Authenticode Eksport klucza prywatnego i certyfikatu 13
...i poinformuje nas o pomylnym zakoczeniu eksportu: 7. Podpisywanie kodu w Microsoft Authenticode 7.1. Podpisywanie za pomoc kreatora W celu wykonania podpisu kodu za pomoc Kreator podpisu cyfrowego naley uruchomi program signtool (wchodzcego w skład Microsoft Platform SDK dostpnego na stronach Microsoftu) z wiersza polece z parametrem signwizard: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 14
Wskazujemy plik, który chcemy podpisa: Wybieramy standardowy typ podpisu (podpis niestandardowy zostanie omówiony w dalszej czci): Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 15
Klikamy Wybierz z magazynu... i wybieramy nasz certyfikat: Kreator wywietli nam informacje o certyfikacie: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 16
Moemy doda komentarz do podpisu: Nastpnie moemy wskaza publiczny serwer oznaczania wiarygodnym czasem (Timestamp), który dołczy swój znacznik czasu do naszego podpisu. Proponujemy serwis CERTUM: http://time.certum.pl Signcode połczy si w trybie online z serwerem czasu i pobierze wiarygodny znacznik, który zostanie dołczony do podpisywanego programu. W efekcie otrzymamy podpis, który nie moe zosta sfałszowany: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 17
Kreator wywietli dane wprowadzone podczas procesu składania podpisu...:... po czym poinformuje nas o pomylnym złoeniu podpisu: W przypadku wyboru opcji niestandardowej...: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 18
... klucz i certyfikat wybierzemy własnorcznie poprzez wskazanie plików zawierajcych klucze: Wskazujemy kreatorowi gdzie umieszczony jest klucz prywatny: Wpisujemy hasło chronice komponent prywatny: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 19
Wskazujemy algorytm wyliczajcy warto funkcji skrótu (algorytm RSA liczy podpis włanie ze skrótu). Zalecanym algorytmem (na dzie dzisiejszy) jest SHA-1: Zaznaczamy opcj, która dołczy do podpisu certyfikat poredni i certyfikat główny CERTUM CA. Pozwoli to na pó niejsz poprawn weryfikacj podpisu: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 20
Moemy doda komentarz do podpisu: Nastpnie moemy wskaza publiczny serwer oznaczania wiarygodnym czasem (Timestamp), który dołczy swój znacznik czasu do naszego podpisu. Proponujemy serwis CERTUM: http://time.certum.pl Signcode połczy si w trybie online z serwerem czasu i pobierze wiarygodny znacznik, który zostanie dołczony do podpisywanego programu. W efekcie otrzymamy podpis, który nie moe zosta sfałszowany: Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 21
Kreator wywietli dane wprowadzone podczas procesu składania podpisu...:... po czym poinformuje nas o pomylnym zakoczeniu pracy: 7.2. Podpisywanie z linii polece W celu podpisania pliku z linii polece naley uruchomi program signtool.exe ze stosownymi przełcznikami (pomoc dostpna po wpisaniu polecenia signtool.exe sign), np.: gdzie: signtool.exe sign -f c:\paczka.pfx -p asdfgh -t http://time.certum.pl c:\moj_program.exe - f paczka z certyfikatem i kluczem - p hasło zabezpieczajce klucz prywatny - c:\moj_program.exe plik do podpisu - t publiczny serwer oznaczania wiarygodnym czasem (Timestamp), który dołczy swój znacznik czasu do naszego podpisu, Dla uslugi znakowania czasem podpisywanego kodu proponujemy serwer CERTUM, dostpny pod adresem http://time.certum.pl. Microsoft Authenticode Podpisywanie kodu w Microsoft Authenticode 22
8. Weryfikowanie podpisu Aby zweryfikowa podpis złoony pod kodem za pomoc technologii Authenticode musimy dysponowa rodowiskiem Windows. W celu weryfikacji podpisu naley klikn prawym przyciskiem myszki na plik i wybiera opcj Właciwoci: Wybieramy zakładk Podpisy cyfrowe i klikamy szczegóły: Microsoft Authenticode Weryfikowanie podpisu 23
W polu Informacje podpisu cyfrowego podawany jest status weryfikacji podpisu: Microsoft Authenticode Weryfikowanie podpisu 24