Java Code Signing
Transkrypt
Java Code Signing
Java Code Signing 1.4 – 6.0 U ycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java wersja 1.1 UNIZETO TECHNOLOGIES SA © Spis tre ci 1. WST P.............................................................................................................................................................. 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU ..................................................................... 3 2.1. 2.2. 2.3. 2.4. 2.5. TWORZENIE DANIA CERTYFIKATU (CSR)............................................................................................... 3 TWORZENIE CERTYFIKATU NA PODSTAWIE UTWORZONEGO DANIA (CSR)........................................... 5 POBIERANIE CERTYFIKATU CERTUM CA I CERTYFIKATÓW PO REDNICH ................................................. 5 IMPORTOWANIE CERTYFIKATU CERTUM CA I CERTYFIKATÓW PO REDNICH ............................................ 5 INSTALOWANIE CERTYFIKATU U YTKOWNIKA ............................................................................................ 6 3. PODPISYWANIE KODU ................................................................................................................................ 7 4. WERYFIKOWANIE ......................................................................................................................................... 7 5. IMPORT/EKSPORT KLUCZY....................................................................................................................... 8 UNIZETO TECHNOLOGIES SA © 1. Wst p Wykonywalny kod Java mo e by podpisany cyfrowo w technologii Java Code Signing przy zastosowaniu specjalnego certyfikatu do podpisywania kodu, oferowanego przez CERTUM. Niezb dna do tego celu jest równie aplikacja Sun JDK (w szczególno ci programy keytool oraz jarsigner, lub dost pny w starszych wersjach javakey). Dzi ki podpisowi cyfrowemu dowolny aplet lub plugin mo e da rozszerzonych uprawnie . Podpis cyfrowy daje równie odbiorcy du pewno co do autentyczno ci kodu. W celu uzyskania dalszych informacji odwied stron Sun Java Developer Kit. 2. Tworzenie klucza prywatnego i certyfikatu 2.1. Tworzenie dania certyfikatu (CSR) Zmie katalog na c:\Program Files\Java\jdk1.x (lub inny gdzie została zainstalowana Java), gdzie x oznacza wersje Javy lub dodaj t cie k do PATH i wydaj polecenie: keytool -genkey -keyalg RSA -keysize 1024 -alias cunizetowski Powy sze polecenie spowoduje wygenerowanie klucza prywatnego wraz z odpowiadaj cym mu daniem certyfikatu CSR. Algorytm generuj cy klucze jest zgodny ze standardem RSA i jest 1024 bitowej długo ci. -alias jest nazw certyfikatu np. Imie, pseudonim itp. Podczas generowania CSR b dziesz musiał poda poni sze informacje: • What is your first and last name ? podaj swoje imi i nazwisko, np. Jan Kowalski. W przypadku, kiedy staramy si o certyfikat dla firmy programistycznej powinni my poda nazw firmy lub jej alias, np.: Firma Trusted Code, Firma S.A, Firma Java Code itp. • What is the name of your organizational unit ? podaj nazw oddziału lub wydziału swojej firmy czy instytucji, dla której starasz si o certyfikat. Osoby prywatne mog wpisa : Unizeto(r) Developer Certificates, pozostali podaj jednostk organizacyjn np.: Dział Programowania, Instytut Metalurgii, Oddział Intensywnej Terapii itp. • What is the name of your organization ? podaj nazw swojej firmy lub instytucji, dla której starasz si o certyfikat. Osoby prywatne mog wpisa : Java Code Signing, pozostali podaj nazw firmy lub Organizacji np.: Firma S.A, Uniwersytet w Ludowie dolnym, Klub Kubusia Puchatka itp. • What is the name of your City or Locality ? Podaj nazw swojej miejscowo ci, np.: Szczecin, Warszawa, Lodowo Dolne itp. • What is the name of your State or Province ? Podaj nazw swojego województwa nie stosuj c skrótów, np.: Zachodniopomorskie, Mazowieckie itd. • What is the two-letter country code for this unit ? Podaj kod ISO swojego kraju - PL (du e litery). Nie nale y stosowa “popularnych” oznacze np.: RP, PRL itd. małych liter lub innych Uwaga: U ywanie znaków specjalnych % ^ $ _ lub polskich znaków diakrytycznych: podawaniu tych informacji spowoduje nieprawidłowe wygenerowanie certyfikatu! Ł przy Java Code Signing 1.4 – 6.0 – Wst p Wersja 1.1 UNIZETO TECHNOLOGIES SA © 3 Przykład wygenerowania pary kluczy przy u yciu narz dzia keytool : Aby sprawdzi czy polecenie zostało wykonane poprawnie, mo na u y polecenia keytool -list lub keytool -list -v. Obie te opcje wy wietl (z ró nym poziomem szczegółowo ci) zawarto bazy z kluczami ./keystore: Powykonaniu powy szej czynno ci nale y wyda polecenie keytool -certreq -alias cunizetowski -file c:\mycert.csr Spowoduje to zapisanie Przykładowy plik dania certyfikatu o nazwie cunizetowski do pliku mycert.csr : dania powinien wygl da podobnie jak poni ej: Java Code Signing 1.4 – 6.0 – Tworzenie klucza prywatnego i certyfikatu Wersja 1.1 UNIZETO TECHNOLOGIES SA © 4 2.2. Tworzenie certyfikatu na podstawie utworzonego dania (CSR) Maj c wygenerowane danie wchodzimy na stron CERTUM (http://www.certum.pl/certum/cert,oferta_java.xml) i wybieramy Kup Java Code Signing. Wypełniamy formularz zgłoszeniowy i wklejamy CSR. UWAGA: W celu wklejania certyfikatu do pliku nale y skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--", u ywaj c do tego celu edytora tekstowego np. Notepad i myszki. Nie nale y u ywa do tej operacji Worda, czy innego procesora tekstowego! Po wykonaniu powy szej procedury zostaniemy poinformowani stosownym emailem o dalszych krokach naszych działa . 2.3. Pobieranie certyfikatu Certum CA i certyfikatów po rednich Aby pobra certyfikat Certum CA lub certyfikaty po rednie nale y wej na stron www.certum.pl do działu Obsługa certyfikatów Za wiadczenia i klucze. Po wybraniu certyfikatu nale y wybra opcj Certyfikat dla serwerów WWW. Wy wietli si interesuj cy nas certyfikat, który zaznaczymy myszk , wkleimy do pliku i zapiszemy. UWAGA: W celu wklejania do pliku certyfikatu prezentowanego na stronie nale y skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--", u ywaj c do tego celu edytora tekstowego np. Notepad i myszki. Nie nale y u ywa do tej operacji Worda, czy innego procesora tekstowego! W przypadku pobierania certyfikatów po rednich, wybieramy interesuj cy nas certyfikat, np. CERTUM Level IV z listy (Certyfikaty Level IV nale y pobra w przypadku, gdy posiadamy certyfikat typu Trusted, certyfikat poziomu III nale y pobra w sytuacji, gdy posiadamy certyfikat typu Enterprise / Wildcard, certyfikat poziomu II nale y pobra w sytuacji, gdy posiadamy certyfikat typu Commercial; dla certyfikatów typu Private pobierany jest certyfikat klasy I). Pozostała cz procesu (zapisanie do pliku) przebiega jak dla certyfikatu Certum CA. 2.4. Importowanie certyfikatu Certum CA i certyfikatów po rednich Aby do bazy certyfikatów doda certyfikat Certum CA nale y wyda polecenie: keytool -import -trustcacerts -file c:\work\CA.der -alias CertumCA W ten sposób do bazy z zaufanymi urz dami certyfikuj cymi zostanie dodany certyfikat Certum CA. Opcja -file wskazuje nam poło enie pliku z certyfikatem, z kolei -alias to nazwa, pod któr certyfikat b dzie widniał w bazie: Java Code Signing 1.4 – 6.0 – Tworzenie klucza prywatnego i certyfikatu Wersja 1.1 UNIZETO TECHNOLOGIES SA © 5 Procedur powtarzamy dla certyfikatu po redniego, u ywaj c polecenia: keytool -import Certumlvl_1 -trustcacerts -file c:\work\CA1.der -alias Do bazy zostanie dodany certyfikat po redni Certum Level I. Znaczenie opcji -file i -alias jest takie same jak powy ej. Aby wy wietli zawarto naszej bazy z certyfikatami u yjemy opcji: keytool -list lub keytool -list -v 2.5. Instalowanie certyfikatu u ytkownika Aby zainstalowa certyfikat u ytkownika w bazie, nale y pobra go ze stron CERTUM (certfikat powinien by szyfrowany binarnie algorytmem DER – ci gaj c certyfikat z naszej strony poprzez Zapisz binarnie zapisuje certyfikat szyfrowany algorytmem DER – rozszerzenie *.cer), a nast pnie wyda polecenie (nie ma konieczno ci zmiany rozszerzenia z *.cer na *.der): keytool -import -file c:\work\certkod.der -alias cunizetowski gdzie -alias oznacza nazw certyfikatem: Aby wy wietli zawarto certyfikatu, natomiast -file jest cie k prowadz c do naszego pliku z naszej bazy z certyfikatami u yjemy opcji: keytool –list Java Code Signing 1.4 – 6.0 – Tworzenie klucza prywatnego i certyfikatu Wersja 1.1 UNIZETO TECHNOLOGIES SA © 6 lub keytool -list -v 3. Podpisywanie kodu Przejd do katalogu, w którym zapisany jst program jarsigner (domy lnie c:\Program Files\Java\jdk1.x.0\bin\, gdzie x oznacza numer wersji javy - mo na równie doda cie k do PATH) i wydaj polecenie: jarsigner Notepad.jar cunizetowski Spowoduje to zło enie podpisu na pliku Notepad.jar przy u yciu klucza o nazwie cunizetowski: 4. Weryfikowanie Aby zweryfikowa poprawno podpisu wydajemy polecenie: W celu uzyskania bardziej szczegółowych informacji o podpisie, wpisujemy: Wy wietlone zostan szczegółowe dane podpisów. Java Code Signing 1.4 – 6.0 – Podpisywanie kodu Wersja 1.1 UNIZETO TECHNOLOGIES SA © 7 5. Import/Eksport kluczy Po otrzymaniu certyfikatu wskazane jest by klucz prywatny zabezpieczony został na osobnym no niku, np. dyskietce lub CD. Wszystkie niezb dne do pracy programu klucze dla podpisywania apletów Java przechowywane s w pliku *.keystore (w katalogu domowym). Jego zabezpieczenie pozwala odzyska certyfikat w wypadku awarii dysku twardego. Java Code Signing 1.4 – 6.0 – Import/Eksport kluczy Wersja 1.1 UNIZETO TECHNOLOGIES SA © 8