Java keytool moyen facile d'ajouter un certificat de serveur à partir d'une URL / d'un port
J'ai un serveur avec un certificat auto-signé, mais nécessite également une authentification cert côté client. J'ai du mal à essayer d'obtenir le certificat de serveur CA brut afin de pouvoir l'importer dans un magasin de clés. Quelqu'un a quelques suggestions sur la façon de le faire facilement? Grâce.
3 answers
Cherchait à faire confiance à un certificat lors de l'utilisation de l'interface de ligne de commande jenkins, et a trouvé https://issues.jenkins-ci.org/browse/JENKINS-12629 qui a une recette pour cela.
Cela vous donnera le certificat:
openssl s_client -connect ${HOST}:${PORT} </dev/null
Si vous n'êtes intéressé que par la partie certificat, découpez - la en la raccordant à:
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
Et rediriger vers un fichier:
> ${HOST}.cert
Puis importez-le en utilisant keytool:
keytool -import -noprompt -trustcacerts -alias ${HOST} -file ${HOST}.cert \
-keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS}
En une seule fois:
HOST=myhost.example.com
PORT=443
KEYSTOREFILE=dest_keystore
KEYSTOREPASS=changeme
# get the SSL certificate
openssl s_client -connect ${HOST}:${PORT} </dev/null \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ${HOST}.cert
# create a keystore and import certificate
keytool -import -noprompt -trustcacerts \
-alias ${HOST} -file ${HOST}.cert \
-keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS}
# verify we've got it.
keytool -list -v -keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS} -alias ${HOST}
J'ai trouvé plusieurs façons de le faire:
- Firefox: Ajouter une exception -> Obtenir un certificat -> Afficher -> Détails -> Exporter...
- KeyMan (http://www.alphaworks.ibm.com/tech/keyman ) Vous pouvez obtenir un certificat SSL directement à partir du menu Fichier - > Importer
- InstallCert (le Code par Andreas Sterbenz)
java InstallCert [host]:[port] keytool -exportcert -keystore jssecacerts -storepass changeit -file output.cert keytool -importcert -keystore [DESTINATION_KEYSTORE] -file output.cert
Vous pouvez exporter un certificat en utilisant Firefox, ce site a des instructions. Ensuite, vous utilisez keytool pour ajouter le certificat.