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 keystorem.
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é osvedčenie 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ú chybu 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:
keytool -import -trustcacerts -alias root -file intermediate.crt -keystore test.jks
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 do not match znamená, že v P7B súboru nie je certifikát pre danú doménu (serverový , koncový ukazovateľ), ale len intermediate. 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 keystorem 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ť.
Dvojročný
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).
KeyStore Explorer
KeyStore Explorer funguje podobne ako predchádzajúci program a je tiež multiplatformový.
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ť.
Mrzí nás, že ste tu nenašli potrebné.
Pomôžete nám článok vylepšiť? Napíš nám, čo ste tu očakávali a nedozvedeli sa.