Java-buildpack: Comment importer cert dans jdk ?

Créé le 23 févr. 2017  ·  4Commentaires  ·  Source: cloudfoundry/java-buildpack

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.

question

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 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 ).

Tous les 4 commentaires

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 .

Cette page vous a été utile?
0 / 5 - 0 notes