Tato příručka vám pomůže začít podepisovat svůj kód Java buď pomocí OV / IV or EV certifikát pro podpis kódu z SSL.com. Tyto pokyny předpokládají, že v počítači je nainstalována sada Java Development Kit (JDK) a že keytool
a jarsigner
příkazy jsou součástí vaší cesty PATH. Pokyny pro podepisování kódu Yubikey předpokládají, že váš certifikát je nainstalován ve slotu 9a FIPS YubiKey token, protože jsou dodávány prostřednictvím SSL.com.
Pokud ještě nemáte certifikát pro podepisování kódu a nejste si jisti, jaký typ potřebujete, přečtěte si tento FAQ.
Podepisování kódu OV/IV (pouze pro certifikáty OV/IV vydané před 1. červnem 2023)
Konfigurace
Metoda 1: Generovat CSR a soubor PFX v prohlížeči
Nejjednodušší metodou pro rychlé zahájení podepisování kódu Java je vygenerování a CSR a soubor PFX při načítání vašeho certifikátu z SSL.com a nainstalujte jej do nového úložiště klíčů Java.
.jar
soubory přímo s nepřevedeným souborem PFX přidáním souboru -storetype pkcs12
vlajka k jarsigner
příkaz.- Postupujte podle pokynů v Osvědčení a získání certifikátů pro podepsání kódu pro objednání certifikátu a stažení souboru PFX s certifikátem a soukromým klíčem.
- Importujte PFX do nového úložiště klíčů se stejným heslem pomocí níže uvedeného příkazu. (Nahradit
MY-CERTIFICATE.p12
aMY-KEYSTORE.jks
se skutečným názvem vašeho souboru PFX a názvem souboru, který chcete dát vašemu úložišti klíčů. Všimněte si také, žedestalias
je libovolné a v případě potřeby můžete použít jinou hodnotu aliasu.)keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codeigning
Poznámka: Hodnota pro-srcalias
pro soubor PFX stažený z SSL.com by normálně měl být1
, ale můžete to potvrdit spuštěním příkazukeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
a kontrola zobrazené hodnotyAlias name
. - Budete vyzváni k zadání hesla pro cílové úložiště klíčů a poté pro heslo zdrojového úložiště klíčů (heslo, které jste zadali při vytváření PFX). Může se také zobrazit varovná zpráva začínající na
Warning: The JKS keystore uses a proprietary format
. Tuto zprávu můžete bezpečně ignorovat.
Metoda 2: Generování párů klíčů a CSR s Java
Pokud chcete vygenerovat klíčový pár a CSR s Java, postupujte podle kroků v této části. Proces je stejný jako ten, který se používá k vytvoření a CSR pro SSL /TLS certifikát v Javě.
Vytvoření úložiště klíčů a pár klíčů
- Nejprve vytvoříme pár klíčů a pár veřejného / soukromého klíče. Java používá soubory s příponou
.jks
(Java KeyStore) pro ukládání certifikátů a kryptografických klíčů. Chcete-li vygenerovat klíčový sklad a 3072bitový pár klíčů RSA, zadejte následující příkaz. (NahraditMY-KEYSTORE.jks
s názvem, který chcete, aby měl soubor.)keytool -genkeypair -alias kódování -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
- Zobrazí se vám řada výzev. Nejprve vytvořte a ověřte heslo pro úložiště klíčů, poté zadejte a ověřte požadované informace. (Nahraďte hodnoty zobrazené v kapitolách vlastními informacemi.)
Zadejte heslo úložiště klíčů: Zadejte znovu nové heslo: Jaké je vaše jméno a příjmení? [Neznámé]: FIRSTNAME PŘÍJMENÍ Jak se jmenuje vaše organizace? [Neznámý]: SPOLEČNOST Jak se jmenuje vaše město nebo lokalita? [Neznámé]: MĚSTO Jak se jmenuje váš stát nebo provincie? [Neznámý]: STATE Jaký je dvoupísmenný kód země pro tuto jednotku? [Neznámé]: US Je CN=JMÉNO PŘÍJMENÍ, OU=ODDĚLENÍ, O=SPOLEČNOST, L=Město, ST=STÁT, C=USA správně? [žádné ano
- Byl vygenerován soubor úložiště klíčů a jste připraveni vytvořit CSR.
Generovat CSR
- Chcete-li vygenerovat a., Zadejte následující příkaz CSR z úložiště klíčů, které jsme právě vytvořili. (Nahradit
MY-KEYSTORE.jks
s hodnotou, kterou jste použili při vytváření úložiště klíčů aMY-CSR.csr
s názvem, který chcete použít pro CSR.)keytool -certreq -alias codeigning -file MY-CSR.csr -úložiště klíčů MY-KEYSTORE.jks
- Zadejte heslo, které jste vytvořili při generování úložiště klíčů.
Zadejte klíčové heslo:
- Projekt CSR byl vytvořen. Pokud jste připraveni objednat si certifikát z SSL.com, otevřete soubor v textovém editoru a zkopírujte jej a vložte do CSR pole při objednávce. Obsah souboru bude vypadat podobně jako v následujícím příkladu:
-----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-----
Objednávka a získání certifikátu
- Postupujte podle pokynů v Osvědčení a získání certifikátů pro podepsání kódu přes krok 24. Spíše než okamžitě klikněte na Vygenerujte certifikát , zaškrtněte políčko označené mám vlastní CSR.
- Vložte svůj CSR do pole formuláře a klikněte na Vygenerujte certifikát .
- Klepněte na tlačítko Ke stažení a uložte
.crt
soubor na stejném místě, kde jste vygenerovali úložiště klíčů.
Importujte certifikát do úložiště klíčů
- Pomocí následujícího příkazu importujte certifikát do souboru úložiště klíčů Java. (Nahraďte MY-CERTIFICATE.crt a MY-KEYSTORE.jks skutečnými názvy souborů.)
keytool -importcert -soubor MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codeigning
- Po zobrazení výzvy zadejte heslo úložiště klíčů.
Zadejte klíčové heslo:
- Váš certifikát je nainstalován v úložišti klíčů a můžete začít podepisovat soubory.
Odpověď na certifikát byla nainstalována v úložišti klíčů
Podepisujte soubory Jarsignerem
- Pomocí následujícího příkazu můžete přidat digitální podpis s časovým razítkem k
.jar
soubor. (Nahradit/PATH/TO/MY-KEYSTORE.jks
aMY-JAR.jar
se skutečnými názvy souborů, které používáte. Pokud jste při nastavování úložiště klíčů použili jiný alias, nahraďte jejcodesigning
v příkazu.)jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar kódování
Poznámka: Je také možné podepsat svůj.jar
soubory přímo s nepřevedeným souborem PFX přidáním souboru-storetype pkcs12
vlajka kjarsigner
příkaz.
Poznámka: Ve výchozím nastavení SSL.com podporuje časová razítka z klíčů ECDSA.
Pokud narazíte na tuto chybu:The timestamp certificate does not meet a minimum public key length requirement
, měli byste kontaktovat svého dodavatele softwaru, aby povolil časové značky z klíčů ECDSA.
Pokud váš dodavatel softwaru nemůže žádným způsobem umožnit použití normálního koncového bodu, můžete použít tento starší koncový bodhttp://ts.ssl.com/legacy
získat časové razítko z jednotky RSA Timestamping Unit. - Na výzvu zadejte heslo úložiště klíčů.
Zadejte heslo pro úložiště klíčů:
- Soubor je nyní podepsán. Podpis můžete ověřit pomocí následujícího příkazu:
jarsigner -verify -verbose MY -JAR.jar
- Pokud byl váš soubor úspěšně podepsán, měl by výstup příkazu obsahovat tento řádek:
s = podpis byl ověřen
Podepisování kódu IV, OV a EV pomocí YubiKey
Konfigurace
Nainstalujte ovladač PKCS # 11 a vytvořte soubor eToken.cfg
Windows
- Nainstalujte OpenSC podle pokynů v OpenSC Rychlý start systému Windows.
- Vyhledejte ovladač OpenSC PKCS # 11. Výchozí umístění instalace je
C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
. - Vytvořte konfigurační soubor a uložte jej na vhodném místě (jako je váš domovský adresář). Název souboru je libovolný, ale v této příručce použijeme
yubikey-pkcs11-java.cfg
. Soubor by měl obsahovat následující informace:name = OpenSC-PKCS11 description = SunPKCS11 přes OpenSC library = C: \ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
- instalovat OpenSC. Pokud používáte Homebrew jako správce balíčků můžete nainstalovat OpenSC pomocí následujícího příkazu:
vařit instalaci opensc
- Vyhledejte ovladač OpenSC PKCS # 11. Pokud jste nainstalovali pomocí Homebrew, soubor by měl být k dispozici na adrese
/usr/local/lib/opensc-pkcs11.so
. - Vytvořte konfigurační soubor a uložte jej na vhodném místě (jako je váš domovský adresář). Název souboru je libovolný, ale v této příručce použijeme
yubikey-pkcs11-java.cfg
. Soubor by měl obsahovat následující informace:name = OpenSC-PKCS11 description = SunPKCS11 přes OpenSC library = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0
Podepisujte soubory Jarsignerem
- Pomocí následujícího příkazu můžete přidat digitální podpis s časovým razítkem k
.jar
soubor. (NahraditMY-JAR.jar
s aktuálním názvem souboru, který používáte.)jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Certifikát pro ověření PIV"
- Na výzvu přístupové fráze zadejte svůj kód YubiKey PIN.
Zadejte heslo pro úložiště klíčů:
- Soubor je nyní podepsán. Podpis můžete ověřit pomocí následujícího příkazu:
jarsigner -verify -verbose MY -JAR.jar
- Pokud byl váš soubor úspěšně podepsán, měl by výstup příkazu obsahovat tento řádek:
s = podpis byl ověřen