Es necesario importar un certificado a jdk para que la APLICACIÓN acceda a HTTPS. Normalmente, lo hago así:
keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias WoSign -file WS_CA1_NEW.cer
Si mi aplicación se ejecuta en CF con java-buildpack, ¿cómo puedo hacer lo mismo con java-buildpack?
Gracias.
Los certificados que se comparten en todas las aplicaciones (por ejemplo, una CA utilizada en toda la empresa) se pueden agregar utilizando el soporte de certificados de confianza de BOSH (también disponible en PCF Ops Manager). Los certificados que se comparten en varias aplicaciones, pero no necesariamente en todas, pueden usar una bifurcación del paquete de compilación que reemplaza el archivo cacerts
en el JRE . Por último, los certificados que utiliza una sola aplicación se pueden empaquetar dentro de la propia aplicación (normalmente dentro de META-INF
para que no puedan ser entregados accidentalmente a los usuarios), y referirse a las propiedades del sistema (por ejemplo, -Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).
Hola @nebhale ,
Sigo https://github.com/cloudfoundry/java-buildpack/blob/master/docs/jre-open_jdk_jre.md#custom -ca -ificates y obtengo un error durante la preparación.
¿Tienes alguna idea sobre esto? ¡Gracias!
Por cierto, "cf push" puede tener éxito utilizando el paquete de compilación oficial.
Registros de errores:
Staging...
-----> Java Buildpack Version: ee0dec3 | https://github.com/zhongyi-zhang/java-buildpack.git#ee0dec3
-----> Downloading Open Jdk JRE 1.8.0_121 from https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_121.tar.gz (found in cache)
Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (1.6s)
[Buildpack] ERROR Compile failed with exception #<Errno::EEXIST: File exists @ dir_s_mkdir - /tmp/app/.java-buildpack/open_jdk_jre/./lib/security/cacerts>
File exists @ dir_s_mkdir - /tmp/app/.java-buildpack/open_jdk_jre/./lib/security/cacerts
Failed to compile droplet
Exit status 223
Staging failed: Exited with status 223
FAILED
BuildpackCompileFailed
Nuestras pruebas indican que esto funciona actualmente. Hay una rama con un archivo cacerts
en esta rama . Puede enviar una solicitud que especifique -b https://github.com/cloudfoundry/java-buildpack.git#custom-ca-certs
y verá la etapa de su solicitud correctamente.
Es difícil decir exactamente por qué su archivo no se puede copiar, pero posiblemente podrían ser permisos en el archivo cacerts
que agregó a la bifurcación.
Oh, el problema es que cacerts
es un Java KeyStore
contiene todos los certificados CA en los que te gustaría confiar .
Comentario más útil
Los certificados que se comparten en todas las aplicaciones (por ejemplo, una CA utilizada en toda la empresa) se pueden agregar utilizando el soporte de certificados de confianza de BOSH (también disponible en PCF Ops Manager). Los certificados que se comparten en varias aplicaciones, pero no necesariamente en todas, pueden usar una bifurcación del paquete de compilación que reemplaza el archivo
cacerts
en el JRE . Por último, los certificados que utiliza una sola aplicación se pueden empaquetar dentro de la propia aplicación (normalmente dentro deMETA-INF
para que no puedan ser entregados accidentalmente a los usuarios), y referirse a las propiedades del sistema (por ejemplo,-Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).