Přeskočit na obsah
  1. Domov
  2. Nápoveda
  3. Práca s certifikáty
  4. Práca s certifikátmi v Java keystore

Práca s certifikátmi v Java keystore

Nasledujúci text je určený používateľom využívajúcim server Apache Tomcat, podpisujúcim aplikácie (applety) v Jave a všeobecne prácu s javovým keystorom.

Upozornenie: Vytvorenie CSR pre Code Signing je rovnaké, ako pre serverový certifikát. Common name je potom názov vašej organizácie.

Vytvorenie keystoru a páru kľúčov

Tento príkaz vytvorí nový keystore a pár kľúčov, ktorý použijete pre vytvorenie žiadosti o certifikát.

keytool -genkey -alias test -keyalg RSA -keystore test.jks -keysize 3072

Následne budete vyzvaní na zadanie hesla pre keystore a upresňujúcich údajov o ňom. Zadané údaje budú zodpovedať tým v CSR:

What is your first and last name?
  [Unknown]:  Test Test
What is the name of your organizational unit?
  [Unknown]:  Unit
What is the name of your organization?
  [Unknown]:  Test corp.
What is the name of your City or Locality?
  [Unknown]:  Some City
What is the name of your State or Province?
  [Unknown]:  Some State
What is the two-letter country code for this unit?
  [Unknown]:  US
Is CN=Test Test, OU=Unit, O=Test corp., L=Some City, ST=Some State, C=US correct?
  [no]:  yes

Vytvorenie CSR

CSR vytvoríme nasledujúcim príkazom:

keytool -certreq -alias test -keystore test.jks -file test.csr

Údaje o žiadateľovi ste zadali pri vytvorení páru kľúčov v predchádzajúcom kroku, takže sa už na ne keytool nepýta.

Parameter -file test.csr slúži k výstupu CSR do súboru. Pokiaľ ho vynecháte, tak sa CSR vypíše v termináli a môžete ho rovno skopírovať do našej objednávky. Potom len počkáte na vydanie certifikátu.

Import vydaného certifikátu do keystore

Vydaný certifikát dostanete od SSLmarketu e-mailom a musíte ho dostať do keystoru.

Keystore pri importe certifikátov vyžaduje, aby bol certifikát dôveryhodný a vystavujúca autorita už v keystoru bola prítomná. Znamená to, že certifikáty sa importujú v „obrátenom poradí“ – od koreňového po serverový.

Import vykonajte príkazom:

keytool -import -trustcacerts -alias test -file test.txt -keystore test.jks

Error: Failed to establish chain from reply

Spomínanú požiadavku na predchádzajúci import CA do keystoru spôsobuje častá chyba keytool error: java.lang.Exception: Failed to establish chain from reply. Chyba znamená, že v keystoru nie je vystavujúci CA/intermediate certifikát.

Problém vyriešite:

  1. Importom v obrátenom poradí – CA certifikáty najprv:

    keytool -import -trustcacerts -alias root -file intermediate.crt -keystore test.jks
  2. Alebo importom certifikátu v PKCS#7 (P7B) formáte. Súbor linux_cert+ca.pem, ktorý ste dostali od SSLmarketu, preveďte na P7B týmto príkazom:

    openssl crl2pkcs7 -nocrl -certfile linux_cert+ca.pem -out linux_cert+ca.p7b

    a potom tento súbor importujte do keystoru:

    keytool -import -trustcacerts -alias test -file linux_cert+ca.p7b -keystore test.jks

    Výsledok Certificate reply was installed in keystore znamená úspešný import, naopak chyba Public keys in reply and keystore don't match znamená, že v P7B súbore nie je certifikát pre danú doménu (serverový, endpoint), ale iba intermediate.

  3. Prípadne importom certifikátu v PKCS#12 (PFX) formáte, v ktorom je všetko pohromade:

    keytool -importkeystore -srckeystore pkcs12file.p12 -srcstoretype pkcs12 -destkeystore test.jks -deststoretype JKS

    Import s pomocou PKCS#12 je najrýchlejší, ale ak ste robili CSR priamo v keystoru, je zbytočný (vyžaduje jeho export).

Nástroje s GUI

Ak nechcete pracovať s keystorom pomocou príkazového riadku či terminálu, môžete využiť jeden z nemnohých nástrojov s grafickým rozhraním.

Oba spomínané programy vedia vytvoriť alebo otvoriť súbor keystoru, vytvoriť CSR a importovať späť vystavený certifikát (odpoveď od CA). Postup je rovnaký ako ten pre terminál vyššie; rozdielom je grafické prostredie, v ktorom ho môžete robiť.

Portecle

Portecle je bezplatný program v Jave, ktorý umožňuje spravovať keystore v grafickom prostredí. Môžete ho spustiť na rôznych platformách (Linux, MacOS, Windows).

Portecle – správa Java keystore
Portecle – správa Java keystore

KeyStore Explorer

KeyStore Explorer funguje podobne ako predchádzajúci program a je tiež multiplatformový.

KeyStore Explorer – správa Java keystore
KeyStore Explorer – správa Java keystore

Logika oboch spomínaných programov je však podobná pôvodnému keystoru; prácu tak v dôsledku nemusí príliš ušetriť.

Je toho na vás priveľa?

Ak si nebudete vedieť rady s akýmkoľvek krokom, neváhajte kontaktovať našu zákaznícku podporu, ktorá vám poradí a pomôže.

Zavolajte nám

ZONER s.r.o.

Jaskový rad 5
831 01 Bratislava

IČO: 35770929
IČ DPH: SK2020212590