Přeskočit na obsah
  1. Domů
  2. Nápověda
  3. Práce s certifikáty
  4. Práce s certifikáty v Java keystore

Práce s certifikáty v Java keystore

Následující text je určen uživatelům využívajícím server Apache Tomcat, podepisujícím aplikace (applety) v Javě a obecně práci s javovým keystorem.

Upozornění: Vytvoření CSR pro Code Signing je stejné, jako pro serverový certifikát. Common name je pak název vaší organizace.

Vytvoření keystoru a páru klíčů

Tento příkaz vytvoří nový keystore a pár klíčů, který použijete pro vytvoření žádosti o certifikát.

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

Následně budete vyzváni k zadání hesla pro keystore a upřesňujících údajů o něm. Zadané údaje budou odpovídat 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

Vytvoření CSR

CSR vytvoříme následujícím příkazem:

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

Údaje o žadateli jste zadali při vytvoření páru klíčů v předchozím kroku, takže se už na ně keytool neptá.

Parametr -file test.csr slouží k výstupu CSR do souboru. Pokud ho vynecháte, tak se CSR vypíše v terminálu a můžete ho rovnou zkopírovat do naší objednávky. Pak jen počkáte na vydání certifikátu.

Import vydaného certifikátu do keystore

Vydaný certifikát dostanete od SSLmarketu e-mailem a musíte ho dostat do keystoru.

Keystore při importu certifikátů vyžaduje, aby byl certifikát důvěryhodný a vystavující autorita už v keystoru byla přítomna. Znamená to, že certifikáty se importují v "obráceném pořadí" - od kořenového po serverový.

Import proveďte příkazem:

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

Error: Failed to establish chain from reply

Zmíněný požadavek na předchozí import CA do keystoru způsobuje častou chybu keytool error: java.lang.Exception: Failed to establish chain from reply. Chyba znamená, že v keystoru není vystavující CA/intermediate certifikát.

Problém vyřešíte:

  1. Importem v obráceném pořadí - CA certifikáty napřed:

    keytool -import -trustcacerts -alias root -file intermediate.crt -keystore test.jks
  2. Nebo importem certifikátu v PKCS#7 (P7B) formátu. Soubor linux_cert+ca.pem, který jste dostali od SSLmarketu, převeďte na P7B tímto příkazem:

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

    a poté tento soubor naimportujte do keystoru:

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

    Výsledek Certificate reply was installed in keystore znamená úspěšný import, naopak chyba Public keys in reply and keystore don't match znamená, že v P7B souboru není certifikát pro danou doménu (serverový, endpoint), ale jen intermediate.

  3. Případně importem certifikátu v PKCS#12 (PFX) formátu, ve kterém je vše pohromadě:

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

    Import s pomocí PKCS#12 je nejrychlejší, ale pokud jste dělali CSR přímo v keystoru, je zbytečný (vyžaduje jeho export).

Nástroje s GUI

Nechcete-li pracovat s keystorem pomocí příkazového řádku či terminálu, můžete využít jeden z nemnoha nástrojů s grafickým rozhraním.

Oba zmíněné programy umí vytvořit nebo otevřít soubor keystoru, vytvořit CSR a importovat zpět vystavený certifikát (odpověď od CA). Postup je stejný jako ten pro terminál výše; rozdílem je grafické prostředí, ve kterém ho můžete dělat.

Portecle

Portecle je bezplatný program v Javě, který umožňuje spravovat keystore v grafickém prostředí. Můžete ho spustit na různých platformách (Linux, MacOS, Windows).

Portecle - správa Java keystore

KeyStore Explorer

KeyStore Explorer funguje podobně jako předchozí program a je také multiplatformní.

KeyStore Explorer - správa Java keystore

Logika obou zmíněných programů je však podobná původnímu keystoru; práci tak v důsledku nemusí příliš ušetřit.

Je toho na vás moc?

Nebudete-li si vědět rady s jakýmkoliv krokem, neváhejte kontaktovat naši zákaznickou podporu, která vám poradí a pomůže.

ZONER a.s.

Nové Sady 18
602 00 Brno

IČ: 49437381
DIČ: CZ49437381