Fórum Root.cz

Hlavní témata => Software => Téma založeno: ZAJDAN 21. 07. 2020, 15:11:39

Název: Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 15:11:39
Ahoj...
mám crypto peněženku 'p12' obsahující řetez certifiáků a private key.
Pokud ji naimportuji do JKS pomocí KeyStore Explorer (GUI) - import Key pair, tak import proběhne v pořádku a kliknutím na nově vytvořený záznam vidím hiearchii certifikátů / zřetězení. Tím i vidím, že p12 je v pořádku.

Pokud import provedu příkazem, tak záznam nemá zřetězení Certifikátů.
Kód: [Vybrat]
keytool -importkeystore -srckeystore walet.p12 -srcstoretype pkcs12 -alias webserver  -srcstorepass myPass       -destkeystore .keystore -deststoretype JKS -deststorepass myPass
díky za každou radu
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: Filip Jirsák 21. 07. 2020, 15:56:13
Máte v tom PFX opravdu ten řetězec certifikátů? Tohle vypadá, jako kdybyste v PFX měl jenom privátní klíč s certifikátem.
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 16:00:24
Máte v tom PFX opravdu ten řetězec certifikátů? Tohle vypadá, jako kdybyste v PFX měl jenom privátní klíč s certifikátem.
Ten je v pořádku, protože poté by to bylo špatně i v případě kde import dělám pomocí KeyStore Explorer, ale v něm to proběhne jak má.
V obou případech importuji tentýž soubor walet.p12
Problém je pouze pokud ten import dělám z příkazové řádky.

postup jak vznikla crypto klíčenka p12:
Kód: [Vybrat]
cat Certificate.crt CA-Intermediate.crt CA-Root.crt CA-TopLevel.crt > Cert-chain.pem
openssl pkcs12 -export -inkey key.pem -in Cert-chain.pem -out walet.p12


Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: Filip Jirsák 21. 07. 2020, 16:29:57
Zkusil jsem teď spustit keytool s těmi vašimi parametry (akorát jsem vynechal alias, nechtělo se mi to znova otvírat v KSE) a naimportovala se mi z PFX normálně celá hierarchie – privátní klíč s certifikátem, certifikát mezilehlé autority a kořenový certifikát.

To, že tam nejsou ty zřetězené certifikáty, zase zjišťujete v KSE?
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 16:34:38
To, že tam nejsou ty zřetězené certifikáty, zase zjišťujete v KSE?
ano to si kontroluji v KSE
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: Filip Jirsák 21. 07. 2020, 17:06:26
To PFX asi zveřejnit nemůžete, že… Napadá mne jedině zkusit si vyrobit nějaký testovací certifikát a autoritu, jestli se vám to bude chovat stejně, a to tu pak případně zveřejnit. Protože těžko něco radit, když mně to s mými certifikáty funguje správně…

Používáte keytool z nějaké aktuální Javy, třeba 11?
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 17:07:06
...naimportovala se mi z PFX normálně celá hierarchie – privátní klíč s certifikátem, certifikát mezilehlé autority a kořenový certifikát.
v tom PFX jste měl vše v jednom souboru (klíč i certifikáty)?
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 17:47:51
Vyřešeno!..problém byl s tím aliasem.
opravil jsem tedy a pro p12 přidal alias:
Kód: [Vybrat]
openssl pkcs12 -export -inkey key.pem -in Cert-chain.pem -out walet.p12 -name webserverpoté provedl import s odkazem na alias, který se pro cílový keystore převezme:
Kód: [Vybrat]
keytool -importkeystore -srckeystore walet.p12 -srcstoretype pkcs12 -alias webserver  -srcstorepass myPass   -destkeystore .keystore -deststoretype JKS -deststorepass myPass
by the way:
netušíte jak vytvořit pomocí keytool prázdný keystore?
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: Filip Jirsák 21. 07. 2020, 18:16:21
Vyřešeno!..problém byl s tím aliasem.
To je zvláštní – když jsem zadal neexistující alias, keytool mi vynadal a nic nenaimportoval. Neměl jste tam už něco naimportováno z předchozích pokusů?

netušíte jak vytvořit pomocí keytool prázdný keystore?
Netuším a nedivil bych se, kdyby to přímo nešlo. keytool je jen pomocný nástroj, nemá umět vše, co se dá s keystore dělat. Asi by šlo vygenerovat nový klíč a pak ho z keystore smazat, nebo naimportovat a smazat, ale nedává to moc smysl. Pokud nepotřebujete měnit heslo keystore, vytvořil bych si prázdný keystore v KSE a pak bych prostě kopíroval soubor .
Název: Re:Import PKCS12 do JKS(java keystore)
Přispěvatel: ZAJDAN 21. 07. 2020, 18:26:10
To je zvláštní – když jsem zadal neexistující alias, keytool mi vynadal a nic nenaimportoval. Neměl jste tam už něco naimportováno z předchozích pokusů?
neměl, ale teď ho při vytváření p12 již zadávám a v importu v keytool se na něj odkážu a on se převezme do keystoru JKS

Netuším a nedivil bych se, kdyby to přímo nešlo. keytool je jen pomocný nástroj, nemá umět vše, co se dá s keystore dělat. Asi by šlo vygenerovat nový klíč a pak ho z keystore smazat, nebo naimportovat a smazat, ale nedává to moc smysl. Pokud nepotřebujete měnit heslo keystore, vytvořil bych si prázdný keystore v KSE a pak bych prostě kopíroval soubor .
tak nový prázdný lze vytvořit jen v KSE, z command line ne.
Každopádně, já ho vlastně ani dopředu vytvářet nepotřebuji.
Ihned poté co jsem si vytvořil p12 tak importem v keytool to keystore vytvořilo.

No každopádně to již dělá co má a moc děkuji :_)