Este error puede ocurrir al importar un certificado SSL a un keystore:
keytool error: java.lang.Exception: Failed to establish chain from reply
En este caso ha sucedido al importar con el comando keytool un certificado SSL del cual previamente habíamos generado un Certificate Request (CSR) en un servidor de aplicaciones tomcat:
# keytool -import -alias mikeystore -keystore tomcat -file www.foo.com.cer keytool error: java.lang.Exception: Failed to establish chain from reply
El error se produce porque no hemos instalado en el orden correcto (o nos hemos dejado alguno) los certificados de la cadena de confianza:
ROOT Certificate -> Intermediante Certificate -> SSL Certificate
Así que antes de instalar el certificado definitivo debemos importar el resto de certificados que nos facilita la entidad certificadora, y en el orden correcto:
Importamos el certificado ROOT:
# keytool -import -alias root -keystore mikeystore -trustcacerts -file root.cer
Importamos el certificado Intermedio:
# keytool -import -alias root_ca -keystore mikeystore -trustcacerts -file ca.cer
Y finalmente importamos nuestro certificado final:
# keytool -import -alias tomcat -keystore mikeystore -file www.foo.com.cer