Corrección de problemas de configuración de PKIX y SSL en AEM Forms
AEM Forms no puede comunicarse a través de SSL debido a certificados que faltan, una configuración incorrecta del almacén de claves o puertos SSL mal configurados. Corrija el problema validando las cadenas de certificados, actualizando el almacén de confianza de JVM y corrigiendo la configuración SSL en JBoss o WebSphere.
Descripción description
Entorno
- AEM Forms (JEE y OSGi)
- JBoss
- WebSphere
- Adobe Managed Services (AMS)
- entornos locales
Problema/Síntomas
- Error al generar la ruta de acceso
javax.net.ssl.SSLHandshakeException: PKIX:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - Error al crear la ruta de acceso de
java.sql.SQLRecoverableException: IO Error PKIX. - Error en la invocación de JBoss EJB con SSL deshabilitado o configuración incompleta:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false - Errores de inicio de AEM en los que el asistente de configuración SSL solicita el nombre y la contraseña del almacén de claves y no puede continuar.
Resolución resolution
Para resolver este problema, siga estos pasos:
-
Revise registros como
standalone/log/server.logoSystemOut.logpara identificar firmas de error SSL como errores de PKIX, SSLHandshakeException o la contraseña del almacén de claves que falta. -
Confirme que el error hace referencia a problemas de confianza de certificados o de carga de almacén de claves.
-
Extraiga el certificado del servidor y su cadena completa, incluidos los certificados de CA del servidor, intermedia y raíz, y asegúrese de que el certificado coincida con el nombre de host observado en los registros.
-
Importe los certificados que faltan en el almacén de confianza de JVM en
JAVA_HOME/lib/security/cacertsmediante keytool y verifique la instalación enumerando el alias. Asegúrese de que se utilizan la ruta y la contraseña correctas del almacén de claves.keytool -importcert -alias <alias> -file <certfile.pem> -keystore <JAVA_HOME>/lib/security/cacerts -
Reinicie JBoss o WebSphere para volver a cargar el almacén de confianza y comprobar que los errores SSL ya no aparecen durante el inicio.
-
Vuelva a ejecutar la operación con error, como la conexión a base de datos o la llamada HTTPS.
-
Si el asistente para la configuración SSL solicita entradas de almacén de claves y la contraseña es desconocida, cree un nuevo almacén de claves proporcionando un nuevo nombre de archivo, contraseña de almacén de claves y contraseña de clave.
-
Compruebe que el archivo de almacén de claves existe en el directorio de configuración.
-
Valide la configuración de la escucha HTTPS de JBoss en
standalone.xmlodomain.xml. -
Asegúrese de que el detector SSLRealm y HTTPS existan y se carguen correctamente sin errores.
-
Para errores SSL relacionados con la base de datos, especialmente con SQL Server que usa
encrypt=true;trustServerCertificate=false, importe el certificado de base de datos en el almacén de confianza o establezcatrustServerCertificate=truetemporalmente. -
Compruebe que la prueba de origen de datos se realice correctamente.
-
Compruebe la configuración SSL de EJB si los errores están relacionados con el puerto 8443.
-
Asegúrese de que SSL esté habilitado y configurado correctamente para el tráfico de EJB y compruebe que ya no se producen errores de invocación.
-
Vuelva a probar la operación fallida original y confirme que los registros no contienen SSLHandshakeException o errores relacionados.
Si los problemas persisten, realice una validación más profunda comparando los certificados mediante openssl y comprobando las entradas del almacén de confianza.