Moje odkazy
vydáno: 30. 8. 2008 20:31, aktualizováno: 15. 9. 2014 00:37
Při importu certifikátu do Javové klíčenky na nás může vyskočit nepříjemná chyba Input not an X.509 certificate. Jednou z příčin je, že máme certifikát v nesprávném formátu.
V tom případě provedeme převod z PEM do DER pomocí OpenSSL:
openssl x509 -in certifikát.pem -inform PEM -outform DER -out certifikát.der
.
Výsledek pak už snadno pomocí keytoolu importujeme:
keytool -import \
-alias "náš_alias" \
-keystore "klíčenka.jks" \
-storepass "naše_heslo" \
-file "certifikát.der"
(alias identifikuje certifikát/klíč v rámci klíčenky, heslo chrání naši klíčenku)
#!/bin/sh
REMHOST=$1
REMPORT=${2:-443}
echo |\
openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |\
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
Použití: ssl-stažení example.com [port]
Vytvoříme si P12 obsahující jak klíč, tak certifikát:
openssl pkcs12 -export -in certifikát.pem -inkey klíč.pem -out klíčCertifikát.p12
Změníme si alias na požadovanou hodnotu – např.:
keytool -storetype PKCS12 -keystore klíčCertifikát.p12 \ -changealias -alias 2 -destalias frantovo.cz_3
Zkontrolujeme si, zda je všechno v pořádku:
keytool -list -storetype PKCS12 -keystore klíčCertifikát.p12
Importujeme PKCS12 do JKS:
keytool -importkeystore -destkeystore keystore.jks \ -srckeystore klíčCertifikát.p12 -srcstoretype PKCS12
Podíváme se na výsledek:
keytool -list -keystore keystore.jks
Témata: [počítačová bezpečnost] [Java] [taháky]
Zabalení certifikátu a klíče do jednoho souboru:
openssl pkcs12 -export -in certifikát.pem -inkey klíč.pem -out klíčCertifikát.p12
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout klíč.pem -out certifikát.pem