instrukcja aktywacji i instalacji certum code signing...s t r o n a | 3 certum powszechne centrum...

39
Instrukcja aktywacji i instalacji Certum Code Signing

Upload: others

Post on 31-Jan-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

Instrukcja

aktywacji i instalacji

Certum Code Signing

Page 2: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 2

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Spis treści

1 Opis produktu .................................................................................................................................. 3

2 Instalacja oprogramowania ............................................................................................................. 3

3 Elementy niezbędne do wgrania certyfikatu Code Signing na kartę kryptograficzną ..................... 4

4 Instalacja certyfikatu ....................................................................................................................... 7

Wymagania .............................................................................................................................. 7

Aktywacja certyfikatu .............................................................................................................. 7

5 Wgrywanie certyfikatu na kartę .................................................................................................... 14

6 Signtool .......................................................................................................................................... 19

Opis narzędzia ....................................................................................................................... 19

Podpisywanie......................................................................................................................... 19

6.3 Weryfikacja ................................................................................................................................ 21

6.4 Podpisywanie wsadowe ............................................................................................................ 22

Podpis dualny ........................................................................................................................ 22

7 Jarsigner......................................................................................................................................... 24

7.1 Opis narzędzia ............................................................................................................................. 24

7.2 Konfiguracja ................................................................................................................................. 24

7.1.1 Utworzenie pliku konfiguracyjnego provider.cfg .......................................................... 24

7.1.2 Utworzenie pliku ścieżki certyfikatu bundle.pem ......................................................... 25

7.1.3 Zmiana aliasu użytkownika (labela) na karcie (tylko dla użytkowników posiadających

znaki diakrytyczne w polu Common Name (CN) w certyfikacie) ................................................... 29

Podpisywanie......................................................................................................................... 34

Weryfikacja ............................................................................................................................ 35

Podpisywanie wsadowe ........................................................................................................ 36

8 Najczęstsze problemy: ................................................................................................................... 38

Page 3: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 3

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

1 Opis produktu

Certyfikat Code Signing, służy do podpisywania kodu oraz gotowych już zbudowanych aplikacji.

Certyfikat nagrywany jest na kartę kryptograficzną, co pozwala nam podpisywać kod oraz gotowe

aplikacje używając znanych narzędzi takich jak signtool.exe oraz jarsigner.

Instrukcja opisuje ścieżkę aktywacji oraz instalacji certyfikatu oraz jak zainstalować potrzebne

oprogramowanie i w jaki sposób - za pomocą znanych aplikacji podpisać lub zweryfikować podpisany

już kod lub aplikację.

2 Instalacja oprogramowania

Do poprawnego działania Code Signing potrzebna jest aplikacja proCertum

CardManager w wersji 3.2.0.151 lub wyższej.

Aby poprawnie zainstalować aplikację trzeba wykonać następujące kroki:

1. Pobrać najnowszą wersję oprogramowania z oficjalnej strony Certum.

2. Uruchomić pobrany instalator.

3. Po uruchomieniu instalatora kliknąć przycisk

4. Po pojawieniu kolejnego ekranu zaznaczyć „Akceptuję warunki umowy

licencyjnej” i kliknąć .

5. Po pojawieniu się kolejnego ekranu należy wybrać ścieżkę w której ma być zainstalowana

aplikacja. Domyślnie jest to ścieżka:

i kliknąć .

6. Po pojawieniu się kolejnego ekranu należy kliknąć przycisk .

Po zakończeniu pracy instalatora należy ponownie uruchomić komputer. W tym celu należy zaznaczyć:

Tak, chcę teraz uruchomić ponownie komputer

7. i kliknąć przycisk .

Page 4: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 4

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

3 Elementy niezbędne do wgrania certyfikatu Code Signing na kartę

kryptograficzną

Aby wgrać certyfikat Code Signing na kartę kryptograficzną prosimy postępować zgodnie z poniższą

instrukcją:

1. Zainstalować Zestaw Code Signing (patrz instrukcja dołączona do zakupionego zestawu).

2. Uruchomić oprogramowanie proCertum CardManager (aktualna wersja oprogramowania dostępna

jest na stronie www.certum.pl > Wsparcie techniczne > Oprogramowanie i biblioteki > proCertum

CardManager).

3. Kliknąć przycisk . .

4. Po pojawieniu się okna z opcjami zaznaczyć opcję:

5. Zrestartować system. Po restarcie systemu włożyć czytnik z kartą kryptograficzną.

6. Uruchomić aplikację proCertum CardManager.

7. Jeżeli karta została odczytana pomyślnie powinno pojawić się okno jak na grafice poniżej:

3. Przejść do zakładki Profil zwykły.

4. Sprawdzić czy Profil zwykły jest aktywny - oprogramowanie wyświetli informacje na temat

wybranego profilu oraz listę certyfikatów. Jeżeli nie jest aktywny przejdź do punktu nr 5.

Page 5: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 5

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Uwaga! Ponowna aktywacja profilu nie jest możliwa. Nie można również przywrócić stanu sprzed

aktywacji.

Na liście powinien pojawić się certyfikat:

Pole „Właściciel certyfikatu” będzie później potrzebne przy podpisywaniu kodu lub aplikacji.

Uwaga: Pojawienia się poniższego komunikatu oznacza, że na karcie kryptograficznej znajduje się klucz

prywatny, a instalacja certyfikatu nie została zakończona gdyż nie został zainstalowany poprawnie

certyfikat. Zaleca się kliknięcie guzika NIE oraz dokończenie procesu instalacji wydanego certyfikatu na

kartę.

Page 6: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 6

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

5. Jeżeli Profil zwykły nie jest aktywny, nacisnąć przycisk Inicjalizuj profil. Wówczas zostanie

zdefiniowany nowy kod PUK i nowy kod PIN. Każdorazowo należy potwierdzić wprowadzony kod.

Nacisnąć przycisk OK aby zatwierdzić zmiany.

Aktywowanie profilu powoduje, że karta cryptoCertum jest przygotowana do instalacji certyfikatu

Code Signing.

Page 7: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 7

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

4 Instalacja certyfikatu

Wymagania Do instalacji certyfikatu będzie potrzebna aplikacja proCertum CardManager (Opis instalacji

i konfiguracji znajduje się poniżej), przeglądarka Internet Explorer w wersji 8,9,10 lub 11 oraz

czytnik z kartą kryptograficzną na której zainicjowany jest profil zwykły, podpięty do

komputera.

Aktywacja certyfikatu 1. Po otrzymaniu zdrapki wejść na adres internetowy sklepu Certum: https://sklep.certum.pl/

2. Kliknąć przycisk Zaloguj/Zarejestruj się

1. Zalogować się na konto Certum (jeżeli nie posiadamy konta w sklepie to wymagane jest jego

założenie)

4. Kliknąć w przycisk "Twoje konto"

Page 8: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 8

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

5. W przypadku otrzymania kodu aktywacyjnego, przejść do sekcji "Kody elektroniczne" i aktywujemy

kod. W przypadku gdy nie posiadasz kodu elektronicznego produktu przejdź do punktu nr 6.

6. Jeżeli nie posiadasz kodu lub pomyślnie aktywowałeś wcześniej kod, przechodzimy do zakładki

"Aktywacja Certyfikatów"

Page 9: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 9

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

7. Na liście poniżej należy odszukać odpowiedni certyfikat który chcemy aktywować i kliknąć przycisk

"Aktywuj"

8. Zaznaczyć opcję "Generowanie pary kluczy" i klikamy "Dalej"

9.1. W przypadku korzystania z przeglądarki Internet Explorer: Potwierdzić dostęp do sieci Web

klikając przycisk "Tak". W przypadku korzystania z przeglądarki Chrome lub innej przejdź do punktu

9.2.

9.2. W przypadku korzystania z przeglądarki Chrome. Pobrać i uruchomić aplikację Certum

Cryptoagent i zostawić ją uruchomioną przez cały okres instalacji kluczy na karcie.

Page 10: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 10

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

10. Zaznaczyć opcję "Zapisz klucze na karcie Certum" kliknąć przycisk "Generuj klucze". Przy

wyświetleniu monitu o numer PIN, podać pin do karty i kliknąć "OK".

Page 11: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 11

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

11. Po przejściu do kolejnego ekranu z informacją o pomyślnym wygenerowaniu kluczy na karcie

kliknąć przycisk "Dalej"

12. Uzupełnić formularz wniosku certyfikacyjnego danymi, które zamieszczone zostaną w certyfikacie.

Następnie, kliknąć "Dalej".

Page 12: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 12

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

13. Jeszcze raz upewnić się czy dane są poprawne. Zaznaczyć, akceptację dla Warunki Użytkowania

oraz potwierdzić prawdziwość podanych w formularzu informacji i kliknąć "Aktywuj".

Uwaga: W przypadku zaznaczenia opcji weryfikacji telefonicznej, CERTUM skontaktuje się pod podany numer telefonu w ciągu 48 godzin roboczych. Numer telefonu podany we wniosku w celu dokonania weryfikacji telefonicznej musi być numerem firmowym i być dostępny w publicznie dostępnych rejestrach np. CEiDG, GUS, pkt.pl, panoramafirm.pl, DUNS lub innych publicznych bazach danych zakwalifikowanych do rzetelnych i wiarygodnych źródeł informacji.

Page 13: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 13

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

14. Status naszego zgłoszenia powinien zmienić się na "Oczekuje na realizację". Na adres email podany

w formularzu wniosku certyfikacyjnego przyjdzie wiadomość z dalszymi instrukcjami. Lista

wymaganych dokumentów niezbędnych do weryfikacji tożsamości znajduje się na stronie :

http://www.certum.pl/certum/cert,wiedza_certyfikaty_code_signing_formalnosci.xml

15. Po otrzymaniu przez Certum wymaganych dokumentów i zaakceptowaniu żądania

certyfikacyjnego wysłana zostanie na adres email wiadomość o wydaniu certyfikatu Code Signing.

Page 14: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 14

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

5 Wgrywanie certyfikatu na kartę Po przejściu całego procesu aktywacji, należy wgrać certyfikat na karcie na której były uprzednio

generowane klucze (punkty 10-12). W tym celu należy:

1. W sklepie Certum, przejść do zakładki "Zarządzanie certyfikatami":

2. Odszukać odpowiedni certyfikat, do którego generowana była para kluczy i kliknąć w niego:

3. Kliknąć przycisk "Zapisz binarnie":

Page 15: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 15

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

4. Pobrać plik certyfikatu na dysk komputera:

5. Otworzyć proCertum CardManager:

6. Wybrać odpowiedni czytnik (jeżeli podłączony więcej niż jeden) i kliknąć przycisk "Czytaj kartę"

7. Przejść do zakładki "Profil Zwykły":

8. W przypadku pojawiania się powiadomienie o niecertyfikowanych kluczach na karcie należy wcisnąć

przycisk "Nie":

Page 16: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 16

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

9. Kliknąć przycisk "Importuj certyfikat":

Page 17: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 17

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

10. Wybrać pobrany uprzednio plik certyfikatu, podać pin do karty i kliknąć "OK":

11. Jeżeli proces dodawania certyfikatu zakończył się pomyślnie, na liście powinien ukazać się

certyfikat Code Signing:

Page 18: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 18

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

12. Należy zarejestrować wybrany certyfikat w systemie operacyjnym. W tym celu wybieramy przycisk

„Rejestruj certyfikaty”:

Page 19: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 19

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

6 Signtool

Opis narzędzia Signtool to narzędzie wiersza polecenia, które cyfrowo podpisuje pliki, weryfikuje podpisy w plikach i

oznacza pliki znacznikami czasu. Narzędzie to znaleźć można w paczce deweloperskiej Windows

(Windows SDK[Software Development Kit]). Wszystkie operacje wykonywane z Code Signing

wymagają podłączonego czytnika wraz z kartą na której jest certyfikat Code Signing. Szerszy opis

narzędzia można znaleźć pod adresem: https://msdn.microsoft.com/pl-

pl/library/8s9b9yaz(v=vs.110).aspx

Podpisywanie

Aby podpisać plik, w wierszu poleceń (cmd.exe) należy użyć następującego polecenia:

signtool sign /n "[1] " / t [2] /fd [3] /v [4]

[1] – Nazwa lub fragment nazwy właściciela certyfikatu, którą sprawdzić można w aplikacji proCertum

CardManager lub narzędziu systemowym certmgr.msc:

[2] – Adres znacznika czasu. Dla Certum http://time.certum.pl,

[3] – Nazwa algorytmu podpisu. Dostępne sha1 i sha256,

[4] – Ścieżka do podpisywanego pliku.

Page 20: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 20

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Przykładowe, poprawne polecenia:

W rezultacie konsola cmd.exe powinna zwrócić komunikat o poprawności podpisu pliku:

The following certificate was selected:

Issued to: Asseco Data Systems S.A.

Issued by: Certum Code Signing CA SHA2

Expires: Fri Jul 06 10:16:38 2018

SHA1 hash: E0828DF9D71C4CD87A349460027F0D9CB802BF31

Done Adding Additional Store

Successfully signed: aplikacja.exe

Number of files successfully Signed: 1

Number of warnings: 0

Number of errors: 0

W rezultacie konsola cmd.exe powinna zwrócić komunikat o poprawności podpisu pliku:

The following certificate was selected:

Issued to: Asseco Data Systems S.A.

Issued by: Certum Code Signing CA SHA2

Expires: Fri Jul 06 10:16:38 2018

SHA1 hash: E0828DF9D71C4CD87A349460027F0D9CB802BF31

Done Adding Additional Store

Successfully signed and timestamped: aplikacja.exe

Number of files successfully Signed: 1

Number of warnings: 0

Number of errors: 0

signtool sign /n "Asseco Data Systems S.A." /t http://time.certum.pl/ /fd sha1 /v

aplikacja.exe

signtool sign /n "Asseco Data Systems S.A." /t http://time.certum.pl/ /fd sha256 /v

aplikacja.exe

Page 21: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 21

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

6.3 Weryfikacja Aby zweryfikować plik, w wierszu poleceń (cmd.exe) należy użyć następującego polecenia:

[1] – Nazwa podpisanego pliku

Przykładowe, poprawne polecenie:

W rezultacie konsola cmd.exe zwraca komunikat o poprawności podpisu pliku, przykładowo:

File: aplikacja.exe

Index Algorithm Timestamp

========================================

0 sha1 Authenticode

Successfully verified: aplikacja.exe

File: aplikacja.exe

Index Algorithm Timestamp

========================================

0 sha256 Authenticode

Successfully verified: aplikacja.exe

lub o braku podpisu:

File: aplikacja.exe

Index Algorithm Timestamp

========================================

SignTool Error: No signature found.

Number of errors: 1

signtool verify /pa [1]

signtool verify /pa aplikacja.exe

Page 22: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 22

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

6.4 Podpisywanie wsadowe W celu wsadowego podpisania wielu plików podczas jednej sesji należy je podać jako kolejne

parametry polecenia. Działanie takie eliminuje konieczność każdorazowego wywoływania komendy w

konsoli oraz wpisywania kodu PIN przy podpisie kolejnych plików.

Przykładowe polecenie:

W rezultacie konsola cmd.exe zwraca komunikat o poprawności podpisu plików: Done Adding Additional Store

Successfully signed and timestamped: aplikacja1.exe

Successfully signed and timestamped: aplikacja2.exe

Successfully signed and timestamped: aplikacja3.exe

Number of files successfully Signed: 3

Number of warnings: 0

Number of errors: 0

Podpis dualny W celu złożenia podpisu dualnego (wykorzystującego oba algorytmy: SHA-1 oraz SHA-2 należy przeprowadzić następującą procedurę:

1. Wykonać podpis aplikacji z wykorzystaniem algorytmu SHA-1 przykładowym poleceniem:

2. Następnie wykonać podpis tej samej aplikacji wykorzystując algorytm SHA-2 oraz przełącznik

/as:

signtool sign /n "Asseco Data Systems S.A." /t http://time.certum.pl/ /fd sha1 /v

aplikacja1.exe aplikacja2.exe aplikacja3.exe

signtool sign /n "Asseco Data Systems S.A." /t http://time.certum.pl/ /fd sha1 /v

aplikacja.exe

signtool sign /n "Asseco Data Systems S.A." /t http://time.certum.pl/ /fd sha256 /as /v

aplikacja.exe

Page 23: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 23

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Wynikiem weryfikacji pliku podpisanego dualnie powinien być następujący komunikat z konsoli: File: aplikacja.exe

Index Algorithm Timestamp

========================================

0 sha1 Authenticode

1 sha256 RFC3161

Successfully verified: aplikacja.exe

Do wykonania i weryfikacji podpisu dualnego wymagany jest Windows 8 lub wyższy. W celu wykonania lub weryfikacji podpisu dualnego na systemach Windows 7 należy zapoznać się z artykułem opublikowanym przez Microsoft: https://technet.microsoft.com/en-us/library/security/2949927.

Page 24: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 24

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

7 Jarsigner

7.1 Opis narzędzia Jarsigner to narzędzie wiersza poleceń, które cyfrowo podpisuje pliki oraz weryfikuje podpisy.

Narzędzie to znaleźć można w paczce deweloperskiej Oracle(JDK [Java Development Kit]). Wszystkie

operacje wykonywane z Code Signing wymagają podłączonego czytnika wraz z kartą na której jest

certyfikat. Szerszy opis narzędzia można znaleźć pod adresem:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html

7.2 Konfiguracja

7.1.1 Utworzenie pliku konfiguracyjnego provider.cfg Przed rozpoczęciem używania jarsigner potrzebna jest dodatkowa konfiguracja.

W pierwszym kroku należy utworzyć plik konfiguracyjny providera dla PKCS#11. W tym celu tworzymy

nowy plik o rozszerzeniu *.cfg (przykład: provider.cfg). Jego zawartość wygląda następująco:

[1] – Nazwa providera. Najlepiej Crypto3PKCS.

[2] – Ścieżka do biblioteki PKCS. Jeżeli posiadamy zainstalowanego proCertum CardManagera ścieżka

domyślna to: C:\Windows\System32\crypto3PKCS.dll

[3] – Numer slota w którym znajduje się karta. Domyślna wartość to -1 która powoduje automatyczne

wykrycie pierwszego dostępnego slotu.

Przykładowa konfiguracja dla profilu zwykłego karty cryptoCertum:

Przykładowa konfiguracja dla karty wirtualnej Certum:

name=[1]

library=[2]

slot=[3]

name=Crypto3PKCS

library=C:\Windows\System32\crypto3PKCS.dll

slot=-1

name=SimplySignPKCS.dll

library=C:\Windows\System32\SimplySignPKCS.dll

slot=-1

Page 25: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 25

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

7.1.2 Utworzenie pliku ścieżki certyfikatu bundle.pem Kolejnym krokiem jest utworzenie pliku ścieżki certyfikatu o rozszerzeniu*.pem (przykład:

bundle.pem). Jego zawartość wygląda następująco:

1. „Na górze”: Certyfikat użytkownika

2. „Poniżej”: certyfikat pośredni dla certyfikatu użytkownika

UWAGA. Zawartość pliku bundle.pem musi być koniecznie we wspomnianej wyżej kolejności.

Uzyskiwanie certyfikatu użytkownika

Certyfikat użytkownika może zostać uzyskany poprzez uruchomienie programu proCertum

CardManager, kliknięcie przycisku czytaj kartę i przejście do zakładki Profil zwykły.

Następnie należy wybrać z listy certyfikat, który chcemy zapisać i użyć przycisku „Pokaż szczegóły

certyfikatu”. Wyświetlony zostanie certyfikat, używając przycisku „Kopiuj do pliku” znajdującego się na

karcie „Szczegóły” istnieje możliwość zapisania certyfikatu:

Warto w tym kroku

zapisać sobie

zawartość pola

„Wystawca”. Pomoże

to w późniejszym

doborze certyfikatu

pośredniego.

Page 26: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 26

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Po kliknięciu „Kopiuj do pliku” zostanie uruchomiony kreator zapisu:

Należy kliknąć „Dalej”. W kolejnym kroku należy wybrać opcję „X.509 szyfrowany algorytmem Base-64

(.CER)” i kliknąć „Dalej”:

Page 27: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 27

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Następnie należy wybrać gdzie ma zostać zapisany plik oraz nadać mu nazwę. W tym celu należy kliknąć

„Przeglądaj”, wybrać lokalizację i wpisać nazwę pliku, następnie kliknąć „Zapisz”, a w oknie kreatora

przejść do kolejnego kroku przyciskiem „Dalej” oraz następnie „Zakończ”. Kreator potwierdzi eksport

pliku.

Uzyskiwanie certyfikatu pośredniego

Certyfikaty pośrednie należy pobierać ze strony Certum:

https://www.certum.pl/pl/wsparcie/cert_wiedza_zaswiadczenia_klucze_certum/

W doborze odpowiedniego certyfikatu (certyfikatów) pośrednich pomoże zapisana wcześniej nazwa

Wystawcy z pola „Wystawca” certyfikatu użytkownika. Należy odszukać na stronie Certum wystawcę

swojego certyfikatu i zapisać jego certyfikat w formacie tekstowym PEM.

Następnie mając dwa pliki z certyfikatami, należy utworzyć nowy plik tekstowy. Zawartość obu

uzyskanych wcześniej plików (Certyfikat użytkownika oraz certyfikat pośredni) należy wkleić do

jednego pliku tekstowego we wspomnianej wyżej kolejności:

1. „Na górze”: Certyfikat użytkownika

2. „Poniżej”: certyfikat pośredni dla certyfikatu użytkownika

Plik należy zapisać i zmienić jego rozszerzenie na *.pem.

Page 28: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 28

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Poniżej przedstawiono przykładowy plik bundle.pem:

Certyfikat

użytkownika

Certyfikat

pośredni

Page 29: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 29

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

7.1.3 Zmiana aliasu użytkownika (labela) na karcie (tylko dla użytkowników posiadających

znaki diakrytyczne w polu Common Name (CN) w certyfikacie) Do wskazywania certyfikatu, który ma zostać użyty do podpisu aplikacji z wykorzystaniem narzędzia

Jarsigner używany jest alias certyfikatu użytkownika. Standardowo alias certyfikatu tworzony jest na

podstawie zawartości pola Common Name z pola Podmiot z certyfikatu. Jeśli w polu Common Name

umieszczony został ciąg znaków zawierający znaki diakrytyczne, następuje konieczność zastąpienia

tego ciągu ciągiem znaków nie zawierającym znaków diakrytycznych.

Przykład: Alias (label) przed zmianą: Urząd Alias (label) po zmianie: Urzad

Uwaga! Zmiana aliasu nie powoduje zmian w certyfikacie. Edycji podlega jedynie identyfikator

certyfikatu na karcie. Podpisana aplikacja w polu podpisu nadal zawierać będzie dane Subskrybenta

zawierające znaki diakrytyczne.

Zmiany aliasu (labela) można dokonać za pomocą oprogramowania udostępnianego nieodpłatnie

PKCS11Admin (do pobrania tutaj: http://www.pkcs11admin.net/).

Prezentowany sposób zmiany labela został wykonany w oprogramowaniu PKCS11Admin w wersji

0.3.0. Procedura zmiany labela wygląda następująco:

1. Należy pobrać i wypakować program PKCS11Admin do wybranego katalogu.

2. Następnie należy wejść do katalogu zawierającego wypakowane oprogramowanie

PKCS11Admin i uruchomić aplikację Pkcs11Admin-x86 lub Pkcs11Admin-x64, zależnie od wersji

systemu operacyjnego. Uruchomienie skutkuje otwarciem programu oraz okna wyboru

biblioteki obsługującej kartę. Dla kart Certum wskazać należy bibliotekę crypto3PKCS.dll,

znajdującą się w katalogu C:\Windows\System32 i zatwierdzić przyciskiem „OK”:

Page 30: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 30

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

3. Gdy program wczyta zawartość karty kryptograficznej należy z paska wybrać opcję „Token” >

„Login” > „User login”:

Page 31: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 31

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

4. Program zamonituje o wpisanie kodu PIN do profilu zwykłego karty. Należy go wprowadzić i

zatwierdzić przyciskiem „OK”:

5. Następnie należy przejść do zakładki „Certificates”. Na liście wyświetlą się labele certyfikatów,

dla których zostanie wykonana zmiana (tu dla przykładu label użytkownika zawierający znak

diakrytyczny „ó”):

6. Kliknięcie prawym przyciskiem myszy na labelu powoduje wywołanie menu, z którego należy

wybrać opcję „Edit attributes…”.

Page 32: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 32

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

7. W wyświetlonym oknie, prezentującym atrybuty wpisu, należy odnaleźć wpis CKA_LABEL.

Następnie należy zaznaczyć wpis CKA_LABEL i użyć przycisku „Edit” do zmiany błędnej

zawartości wpisu:

Page 33: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 33

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

8. Pole labela jest teraz edytowalne. Wystarczy skorygować label usuwając znaki diakrytyczne i

potwierdzić przyciskiem „OK”:

9. Proces zmiany został ukończony. Dzięki temu przy wyborze certyfikatu do podpisu będzie

możliwość podania aliasu nie zawierającego znaków diakrytycznych i co za tym idzie poprawne

użycie certyfikatu.

Przed przystąpieniem do podpisywania rezultat zmiany aliasu użytkownika sprawdzić można

poleceniem:

W rezultacie instrukcja zwraca zawartość magazynu kluczy:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

Enter keystore password:

Keystore type: PKCS11

Keystore provider: SunPKCS11-Crypto3CSP

Your keystore contains 1 entry

Paula Olszowka, PrivateKeyEntry,

Certificate fingerprint (SHA1):

E0:82:8D:F9:D7:1C:4C:D8:7A:34:94:60:02:7F:0D:9C:B8:02:BF:31

keytool -list -keystore NONE -storetype PKCS11 -providerclass

sun.security.pkcs11.SunPKCS11 -providerArg provider.cfg

Page 34: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 34

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Podpisywanie Aby podpisać plik, w wierszu poleceń (cmd.exe) należy użyć następującego polecenia:

jarsigner -keystore NONE -tsa "[1]" -certchain "[2]" -storetype PKCS11 -providerClass

sun.security.pkcs11.SunPKCS11 -providerArg "[3]" -storepass "[4]" "[5]" "[6]"

[1] – Adres znacznika czasu. Dla Certum http://time.certum.pl,

[2] – Ścieżka do pliku ścieżki certyfikatu (Sekcja „Konfiguracja”),

[3] – Ścieżka do pliku konfiguracyjnego providera (Sekcja „Konfiguracja”),

[4] – Hasło do profilu zwykłego karty,

[5] – Ścieżka do pliku podpisywanego,

[6] – Nazwa właściciela certyfikatu którą sprawdzić można w proCertum CardManagerze lub używając

narzędzia keytool (więcej w rozdziale: 7.1.3.9).

Przykładowe, poprawne polecenie:

Jeśli operacja podpisu przebiegła prawidłowo, konsola wyświetli następujący wynik:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

jarsigner -keystore NONE -certchain "bundle.pem" -tsa "http://time.certum.pl" -

storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja.jar" "Asseco Data Systems S.A."

Page 35: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 35

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Weryfikacja Aby zweryfikować plik, w wierszu poleceń (cmd.exe) należy użyć następującego polecenia:

jarsigner -verify "[1]"

[1] – Ścieżka do pliku podpisywanego,

Przykładowe, poprawne polecenie:

W przypadku poprawnej weryfikacji pliku konsola wyświetli:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar verified.

W przypadku braku podpisu wynik jest następujący:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar is unsigned.

jarsigner -verify "aplikacja.jar"

Page 36: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 36

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Podpisywanie wsadowe W celu wsadowego podpisania wielu plików podczas jednej sesji należy utworzyć plik *.bat,

zawierający tyle wpisów, ile plików ma zostać podpisane podczas jednego procesu podpisu. Działanie

takie eliminuje konieczność każdorazowego wywoływania komendy w konsoli oraz wpisywania kodu

PIN przy podpisie kolejnych plików.

W celu utworzenia pliku, należy utworzyć nowy plik tekstowy *.txt, wkleić wpisy do podpisywania

plików, zapisać plik oraz zmienić jego rozszerzenie z *.txt na *.bat.

Poniższy przykład prezentuje zawartość pliku *.bat dla podpisu trzech aplikacji jednocześnie:

Tak zapisany plik można uruchomić w konsoli cmd.exe lub dwuklikiem, a rezultatem będzie rozpoczęcie

podpisywania kolejnych plików, zawartych w pliku *.bat.

Rezultatem uruchomienia pliku *.bat w konsoli będzie informacja o kolejnym wywołaniu komend i

podpisie plików:

C:\Users\user\Desktop\jarsigner>jarsigner -keystore NONE -certchain

"bundle.pem" -tsa http://time.certum.pl -storetype PKCS11 -

providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja1.jar" "Asseco Data

Systems S.A"

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

C:\Users\user\Desktop\jarsigner>jarsigner -keystore NONE -certchain

"bundle.pem" -tsa http://time.certum.pl -storetype PKCS11 -

providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja2.jar" "Asseco Data

Systems S.A"

jarsigner -keystore NONE -certchain "bundle.pem" -tsa "http://time.certum.pl" -

storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja1.jar" "Asseco Data Systems S.A."

jarsigner -keystore NONE -certchain "bundle.pem" -tsa "http://time.certum.pl" -

storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja2.jar" "Asseco Data Systems S.A."

jarsigner -keystore NONE -certchain "bundle.pem" -tsa "http://time.certum.pl" -

storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja3.jar" "Asseco Data Systems S.A."

Page 37: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 37

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

C:\Users\user\Desktop\jarsigner>jarsigner -keystore NONE -certchain

"bundle.pem" -tsa http://time.certum.pl -storetype PKCS11 -

providerClass sun.security.pkcs11.SunPKCS11 -providerArg

"provider.cfg" -storepass "123456" "aplikacja3.jar" "Asseco Data

Systems S.A"

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

Page 38: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 38

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

8 Najczęstsze problemy:

1. Podczas podpisu narzędziem signtool przy wykorzystaniu algorytmu SHA-2 występuje problem

z podpisaniem:

Done Adding Additional Store

SignTool Error: An unexpected internal error has occurred.

Error information: "Error: SignerSign() failed." (-

2146893784/0x80090028)

Rozwiązanie: W oprogramowaniu proCertum CardManager należy wybrać przycisk Opcje > zaznaczyć

opcję „EV Code Signing – zastąp CSP biblioteką minidriver”. Następnie zrestartować system i podjąć

próbę podpisu ponownie.

2. Podczas podpisu narzędziem jarsigner pojawia się komunikat:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

Warning:

The signer's certificate chain is not validated.

Rozwiązanie: Należy zweryfikować zawartość pliku bundle.pem. Plik zawiera prawdopodobnie

nieprawidłowe certyfikaty bądź certyfikaty w nieprawidłowej kolejności.

Plik bundle.pem powinien zawierać certyfikaty:

1. Certyfikat Subskrybenta,

2. Odpowiedni certyfikat pośredni.

Więcej o pliku bundle.pem w punkcie 7.1.2.

3. Podczas weryfikacji podpisu narzędziem jarsigner pojawia się komunikat:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jarsigner: java.lang.SecurityException: cannot verify signature

block file META-INF/PAULA_OL

PAULA_OL to przykładowa sygnatura, zależna od aliasu użytkownika. Więcej o aliasach w

punkcie 7.1.3

Page 39: Instrukcja aktywacji i instalacji Certum Code Signing...S t r o n a | 3 Certum Powszechne Centrum Certyfikacji ul. Królowej Korony Polskiej 21, 70-486 Szczecin certum.pl infolinia@certum.pl

S t r o n a | 39

Certum

Powszechne Centrum Certyfikacji

ul. Królowej Korony Polskiej 21, 70-486 Szczecin

certum.pl [email protected]

Rozwiązanie: Należy zweryfikować zawartość pliku bundle.pem. Plik zawiera prawdopodobnie

nieprawidłowe certyfikaty bądź certyfikaty w nieprawidłowej kolejności.

Plik bundle.pem powinien zawierać certyfikaty:

1. Certyfikat Subskrybenta,

2. Odpowiedni certyfikat pośredni.

4. Podczas podpisu narzędziem jarsigner pojawia się komunikat:

Picked up _JAVA_OPTIONS: -Xms256m -Xmx1024m

jar signed.

Warning:

The signer certificate's KeyUsage extension doesn't allow code

signing.

Rozwiązanie: Należy zweryfikować zawartość pliku bundle.pem. Plik prawdopodobnie nie zawiera na

pierwszej pozycji certyfikatu Subskrybenta.

Plik bundle.pem powinien zawierać certyfikaty:

1. Certyfikat Subskrybenta,

2. Odpowiedni certyfikat pośredni.

Więcej o pliku bundle.pem w punkcie 7.1.2.