Java-buildpack: Como importar o certificado para o jdk?

Criado em 23 fev. 2017  ·  4Comentários  ·  Fonte: cloudfoundry/java-buildpack

Um certificado precisa ser importado para o jdk para o APP acessar o HTTPS. Normalmente, eu faço assim:

keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias WoSign -file WS_CA1_NEW.cer

Se meu aplicativo estiver sendo executado em CF com java-buildpack, como posso fazer a mesma coisa com java-buildpack?
Obrigado.

question

Comentários muito úteis

Os certificados que são compartilhados entre todos os aplicativos (por exemplo, uma CA usada em toda a empresa) podem ser adicionados usando o suporte de certificados confiáveis do BOSH (também disponível no PCF Ops Manager). Os certificados que são compartilhados entre vários, mas não necessariamente todos, os aplicativos podem usar uma bifurcação do buildpack que substitui o arquivo cacerts no JRE . Finalmente, os certificados que são usados ​​por um único aplicativo podem ser empacotados dentro do próprio aplicativo (normalmente dentro de META-INF para que não possam ser acidentalmente servidos aos usuários) e referidos com propriedades do sistema (por exemplo, -Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks ).

Todos 4 comentários

Os certificados que são compartilhados entre todos os aplicativos (por exemplo, uma CA usada em toda a empresa) podem ser adicionados usando o suporte de certificados confiáveis do BOSH (também disponível no PCF Ops Manager). Os certificados que são compartilhados entre vários, mas não necessariamente todos, os aplicativos podem usar uma bifurcação do buildpack que substitui o arquivo cacerts no JRE . Finalmente, os certificados que são usados ​​por um único aplicativo podem ser empacotados dentro do próprio aplicativo (normalmente dentro de META-INF para que não possam ser acidentalmente servidos aos usuários) e referidos com propriedades do sistema (por exemplo, -Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks ).

Olá @nebhale ,

Eu sigo https://github.com/cloudfoundry/java-buildpack/blob/master/docs/jre-open_jdk_jre.md#custom -ca-certificates e obtenho um erro durante o teste.
Você tem alguma ideia sobre isso? Obrigado!
BTW, "cf push" pode ser bem sucedido usando o buildpack oficial.

Registros de erros:

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

Nossos testes indicam que isso funciona atualmente. Há um branch com um arquivo cacerts neste branch . Você pode enviar um aplicativo especificando -b https://github.com/cloudfoundry/java-buildpack.git#custom-ca-certs e verá o estágio do aplicativo corretamente.

É difícil dizer exatamente por que seu arquivo não pode ser copiado, mas podem ser as permissões no arquivo cacerts que você adicionou à bifurcação.

Oh, o problema é que cacerts é um Java KeyStore contendo todos os certificados CA que você gostaria de confiar .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

pxie picture pxie  ·  20Comentários

aknobloch picture aknobloch  ·  8Comentários

mkuratczyk picture mkuratczyk  ·  10Comentários

samzilverberg picture samzilverberg  ·  13Comentários

metacubed picture metacubed  ·  6Comentários