Un certificat doit être importé dans jdk pour que l'APP accède à HTTPS. Normalement, je fais comme ça :
keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias WoSign -file WS_CA1_NEW.cer
Si mon application s'exécute en CF avec java-buildpack, comment puis-je faire la même chose avec java-buildpack ?
Merci.
Les certificats partagés entre toutes les applications (par exemple, une autorité de certification utilisée à l'échelle de l'entreprise) peuvent être ajoutés à l'aide de la prise en charge des certificats de confiance de BOSH (également disponible dans PCF Ops Manager). Les certificats qui sont partagés entre un certain nombre d'applications, mais pas nécessairement toutes, peuvent utiliser un fork du buildpack qui remplace le fichier cacerts
dans le JRE . Enfin, les certificats utilisés par une seule application peuvent être empaquetés dans l'application elle-même (généralement dans META-INF
afin qu'ils ne puissent pas être accidentellement servis aux utilisateurs) et référencés avec des propriétés système (par exemple -Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).
Salut @nebhale ,
Je suis https://github.com/cloudfoundry/java-buildpack/blob/master/docs/jre-open_jdk_jre.md#custom -ca-certificates et j'obtiens une erreur lors de la mise en scène.
Avez-vous une idée à ce sujet? Merci!
BTW, "cf push" peut réussir en utilisant le buildpack officiel.
Journaux d'erreurs :
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
Nos tests indiquent que cela fonctionne actuellement. Il y a une branche avec un fichier cacerts
dans cette branche . Vous pouvez pousser une application en spécifiant -b https://github.com/cloudfoundry/java-buildpack.git#custom-ca-certs
et vous verrez votre application se dérouler correctement.
Il est difficile de dire exactement pourquoi votre fichier ne peut pas être copié, mais il peut s'agir d'autorisations sur le fichier cacerts
que vous avez ajouté au fork.
Oh, le problème est que cacerts
est un Java KeyStore
contenant tous les certificats CA auxquels vous aimeriez faire confiance .
Commentaire le plus utile
Les certificats partagés entre toutes les applications (par exemple, une autorité de certification utilisée à l'échelle de l'entreprise) peuvent être ajoutés à l'aide de la prise en charge des certificats de confiance de BOSH (également disponible dans PCF Ops Manager). Les certificats qui sont partagés entre un certain nombre d'applications, mais pas nécessairement toutes, peuvent utiliser un fork du buildpack qui remplace le fichier
cacerts
dans le JRE . Enfin, les certificats utilisés par une seule application peuvent être empaquetés dans l'application elle-même (généralement dansMETA-INF
afin qu'ils ne puissent pas être accidentellement servis aux utilisateurs) et référencés avec des propriétés système (par exemple-Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).