Podręcznik podpisywania kodu Java

Ten przewodnik pomoże Ci rozpocząć podpisywanie kodu Java za pomocą pliku OV / IV or EV certyfikat do podpisywania kodu z SSL.com. W tych instrukcjach przyjęto założenie, że na komputerze jest zainstalowany pakiet Java Development Kit (JDK) i że keytool i jarsigner polecenia są zawarte w Twojej PATH. Instrukcje podpisywania kodu Yubikey zakładają, że Twój certyfikat jest zainstalowany w slocie 9a a YubiKey FIPS token, ponieważ są wysyłane przez SSL.com.

Od 1 czerwca 2023 r., certyfikaty SSL.com Organization Validation (OV) i Individual Validation (IV) Code Signing Certificates zostały wydane na tokenach USB Federal Information Processing Standard 140-2 (FIPS 140-2) lub za pośrednictwem naszej usługi podpisywania kodu w chmurze eSigner. Ta zmiana jest zgodna z nowymi wymaganiami dotyczącymi przechowywania kluczy na forum urzędu certyfikacji/przeglądarki (CA/B), aby zwiększyć bezpieczeństwo kluczy do podpisywania kodu.

Jeśli nie masz jeszcze certyfikatu podpisującego kod i nie wiesz, jakiego typu potrzebujesz, przeczytaj to FAQ.

SSL.com's Podpisywanie kodu OV / IV certyfikaty są ekonomicznym sposobem ochrony kodu przed nieautoryzowanym naruszeniem i naruszeniem i są dostępne za jedyne $ 64.50 rocznie.

ZAMÓW TERAZ

Podpisywanie kodu OV/IV (tylko dla certyfikatów OV/IV wydanych przed 1 czerwca 2023 r.)

systemu

Metoda 1: Wygeneruj CSR i plik PFX w przeglądarce

Najprostszą metodą szybkiego rozpoczęcia pracy z podpisywaniem kodu Java jest wygenerowanie pliku CSR i PFX podczas pobierania certyfikatu z SSL.com i zainstaluj go w nowym magazynie kluczy Java.

Uwaga: Możliwe jest również podpisanie twojego .jar pliki bezpośrednio z nieprzekonwertowanym plikiem PFX, dodając rozszerzenie -storetype pkcs12 flaga do jarsigner dowództwo.
  1. Postępuj zgodnie z instrukcjami przedstawionymi w Zamawianie i odzyskiwanie certyfikatów podpisujących kod aby zamówić certyfikat i pobrać plik PFX z certyfikatem i kluczem prywatnym.
  2. Zaimportuj PFX do nowego magazynu kluczy z tym samym hasłem, używając poniższego polecenia. (Zastąpić MY-CERTIFICATE.p12 i MY-KEYSTORE.jks rzeczywistą nazwą pliku PFX i nazwą pliku, który chcesz nadać swojemu magazynowi kluczy. Zauważ również, że destalias jest dowolna i w razie potrzeby możesz użyć innej wartości aliasu).
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias kodowanie
    Uwaga: Wartość dla -srcalias dla pliku PFX pobranego z SSL.com powinien normalnie być 1, ale możesz to potwierdzić, uruchamiając polecenie keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 i sprawdzając wyświetlaną wartość Alias name.
  3. Zostaniesz poproszony o podanie hasła do docelowego magazynu kluczy, a następnie o hasło źródłowego magazynu kluczy (hasło wprowadzone podczas tworzenia PFX). Możesz również zobaczyć komunikat ostrzegawczy zaczynający się od Warning: The JKS keystore uses a proprietary format. Możesz bezpiecznie zignorować tę wiadomość.

Metoda 2: Wygeneruj parę kluczy i CSR z Javą

Jeśli wolisz wygenerować parę kluczy i CSR z Javą, wykonaj czynności opisane w tej sekcji. Proces jest taki sam, jak jest używany do tworzenia pliku CSR przez SSL /TLS świadectwo w Javie.

Utwórz magazyn kluczy i parę kluczy
  1. Najpierw utworzymy magazyn kluczy i parę kluczy publiczny / prywatny. Java używa plików z rozszerzeniem .jks (Java KeyStore) do przechowywania certyfikatów i kluczy kryptograficznych. Wpisz następujące polecenie, aby wygenerować magazyn kluczy i parę 3072-bitowych kluczy RSA. (Zastąpić MY-KEYSTORE.jks z nazwą, jaką chciałbyś mieć plik).
    keytool -genkeypair -alias codinging -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Zostanie wyświetlona seria monitów. Najpierw utwórz i zweryfikuj hasło do magazynu kluczy, a następnie wprowadź i zweryfikuj wymagane informacje. (Zastąp wartości podane wielkimi literami własnymi informacjami).
    Wprowadź hasło magazynu kluczy: Wprowadź ponownie nowe hasło: Jakie jest Twoje imię i nazwisko? [Nieznane]: FIRSTNAME LASTNAME Jaka jest nazwa Twojej organizacji? [Nieznane]: FIRMA Jak nazywa się Twoje miasto lub miejscowość? [Nieznane]: MIASTO Jak nazywa się Twój stan lub prowincja? [Nieznane]: STAN Jaki jest dwuliterowy kod kraju dla tej jednostki? [Nieznane]: USA Czy CN=FIRSTNAME LASTNAME, OU=DZIAŁ, O=FIRMA, L=MIASTO, ST=STAN, C=US są poprawne? [nie tak
  3. Plik kluczy został wygenerowany i jesteś gotowy do utworzenia pliku CSR.
Generuj swój CSR
  1. Wprowadź następujące polecenie, aby wygenerować plik CSR z magazynu kluczy, który właśnie utworzyliśmy. (Zastąpić MY-KEYSTORE.jks z wartością użytą podczas tworzenia magazynu kluczy i MY-CSR.csr z nazwą, której chcesz używać dla CSR.)
    keytool -certreq -alias codinging -file MY-CSR.csr - magazyn kluczy MÓJ-KEYSTORE.jks
  2. Wprowadź hasło utworzone podczas generowania magazynu kluczy.
    Wprowadź hasło magazynu kluczy:
  3. Połączenia CSR został stworzony. Jeśli jesteś gotowy, aby zamówić certyfikat na SSL.com, otwórz plik w edytorze tekstu, aby skopiować i wkleić do CSR pole przy zamówieniu. Zawartość pliku będzie wyglądać podobnie do poniższego przykładu:
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
Zamów i odbierz certyfikat
  1. Postępuj zgodnie z instrukcjami przedstawionymi w Zamawianie i odzyskiwanie certyfikatów podpisujących kod do kroku 24. Zamiast natychmiastowego klikania Wygeneruj certyfikat , zaznacz pole oznaczone Mam swoje CSR.
    Mam swoje CSR
  2. Wklej swój CSR do pola formularza i kliknij Wygeneruj certyfikat przycisk.
    makaron CSR i wygeneruj certyfikat
  3. Kliknij Do pobrania i zapisz plik .crt plik w tym samym miejscu, w którym wygenerowałeś swój magazyn kluczy.
    Do pobrania
Importuj certyfikat do magazynu kluczy
  1. Użyj następującego polecenia, aby zaimportować certyfikat do pliku kluczy Java. (Zastąp MY-CERTIFICATE.crt i MY-KEYSTORE.jks rzeczywistymi nazwami plików).
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codigning
  2. Po wyświetleniu monitu wprowadź hasło magazynu kluczy.
    Wprowadź hasło magazynu kluczy:  
  3. Twój certyfikat jest zainstalowany w magazynie kluczy i możesz rozpocząć podpisywanie plików.
    Odpowiedź certyfikatu została zainstalowana w magazynie kluczy

Podpisuj pliki za pomocą Jarsigner

  1. Użyj następującego polecenia, aby dodać podpis cyfrowy ze znacznikiem czasu do pliku .jar plik. (Zastąpić /PATH/TO/MY-KEYSTORE.jks i MY-JAR.jar z rzeczywistymi nazwami plików, których używasz. Jeśli podczas konfigurowania magazynu kluczy użyłeś innego aliasu, zastąp go codesigning w poleceniu.)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks Kodowanie MY-JAR.jar
    Uwaga: istnieje również możliwość podpisania .jar pliki bezpośrednio z nieprzekonwertowanym plikiem PFX, dodając rozszerzenie -storetype pkcs12 flaga do jarsigner dowództwo.

    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.
  2. Po wyświetleniu monitu wprowadź hasło magazynu kluczy.
    Wprowadź hasło do magazynu kluczy: 
  3. Plik jest teraz podpisany. Możesz zweryfikować podpis za pomocą następującego polecenia:
    jarsigner -weryfikacja -verbose MY-JAR.jar
  4. Jeśli plik został pomyślnie podpisany, dane wyjściowe polecenia powinny zawierać następujący wiersz:
    s = podpis został zweryfikowany
    

 

Podpisywanie kodu IV, OV i EV za pomocą YubiKey

SSL.com's Podpisywanie kodu EV certyfikaty oferują podpisywanie kodu w trybie jądra systemu Windows 10 i natychmiastowy wzrost reputacji SmartScreen, a wszystko to za jedyne $ 240.00 rocznie. Są dostarczane bezpiecznie YubiKey FIPS Tokeny USB z uwierzytelnianiem dwuskładnikowym.

ZAMÓW TERAZ

systemu

Zainstaluj sterownik PKCS # 11 i utwórz plik eToken.cfg

Windows
  1. Zainstaluj OpenSC, postępując zgodnie z instrukcjami w OpenSC Szybki start systemu Windows.
  2. Znajdź sterownik OpenSC PKCS # 11. Domyślna lokalizacja instalacji to C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Utwórz plik konfiguracyjny i zapisz go w dogodnej lokalizacji (np. W katalogu domowym). Nazwa pliku jest dowolna, ale w tym przewodniku użyjemy yubikey-pkcs11-java.cfg. Plik powinien zawierać następujące informacje:
    name = OpenSC-PKCS11 description = SunPKCS11 przez bibliotekę OpenSC = C: \ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
  1. Zainstalować OpenSC. Jeśli użyjesz Homebrew jako menedżer pakietów możesz zainstalować OpenSC za pomocą następującego polecenia:
    instalacja parzenia opensc
  2. Znajdź sterownik OpenSC PKCS # 11. Jeśli zainstalowałeś za pomocą Homebrew, plik powinien być dostępny pod adresem /usr/local/lib/opensc-pkcs11.so.
  3. Utwórz plik konfiguracyjny i zapisz go w dogodnej lokalizacji (np. W katalogu domowym). Nazwa pliku jest dowolna, ale w tym przewodniku użyjemy yubikey-pkcs11-java.cfg. Plik powinien zawierać następujące informacje:
    name = OpenSC-PKCS11 description = SunPKCS11 przez bibliotekę OpenSC = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Podpisuj pliki za pomocą Jarsigner

  1. Użyj następującego polecenia, aby dodać podpis cyfrowy ze znacznikiem czasu do pliku .jar plik. (Zastąpić MY-JAR.jar rzeczywistą nazwą pliku, którego używasz).
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore BRAK -storetype PKCS11 MY-JAR.jar "Certyfikat uwierzytelnienia PIV"
  2. Wprowadź swój PIN YubiKey po wyświetleniu monitu o hasło.
    Wprowadź hasło do magazynu kluczy: 
  3. Plik jest teraz podpisany. Możesz zweryfikować podpis za pomocą następującego polecenia:
    jarsigner -weryfikacja -verbose MY-JAR.jar
  4. Jeśli plik został pomyślnie podpisany, dane wyjściowe polecenia powinny zawierać następujący wiersz:
    s = podpis został zweryfikowany
    
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 łącze czatu w prawym dolnym rogu tej strony. Odpowiedzi na wiele często zadawanych pytań można również znaleźć w naszym baza wiedzy.

 

Twitter
Facebook
LinkedIn
Reddit
E-mail

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.