Sertifikat perlu diimpor ke jdk agar APP dapat mengakses HTTPS. Biasanya, saya melakukannya seperti ini:
keytool -keystore "C:\Program Files\Java\jdk1.8.0_71\jre\lib\security\cacerts" -importcert -alias WoSign -file WS_CA1_NEW.cer
Jika aplikasi saya berjalan di CF dengan Java-buildpack, bagaimana saya bisa melakukan hal yang sama dengan Java-buildpack?
Terima kasih.
Sertifikat yang dibagikan di semua aplikasi (misalnya CA yang digunakan di seluruh perusahaan) dapat ditambahkan menggunakan dukungan sertifikat tepercaya BOSH (juga tersedia di PCF Ops Manager). Sertifikat yang dibagikan di sejumlah, tetapi tidak harus semua, aplikasi dapat menggunakan garpu buildpack yang menggantikan file cacerts
di JRE . Terakhir, sertifikat yang digunakan oleh satu aplikasi dapat dikemas dalam aplikasi itu sendiri (biasanya dalam META-INF
sehingga tidak dapat disajikan secara tidak sengaja kepada pengguna), dan dirujuk dengan properti sistem (misalnya -Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).
Hai @nebhale ,
Saya mengikuti https://github.com/cloudfoundry/Java-buildpack/blob/master/docs/jre-open_jdk_jre.md#custom -ca-certificates dan mendapatkan kesalahan selama pementasan.
Apakah Anda tahu tentang ini? Terima kasih!
BTW, "cf push" dapat berhasil dengan menggunakan buildpack resmi.
Log kesalahan:
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
Pengujian kami menunjukkan bahwa ini saat ini berfungsi. Ada cabang dengan file cacerts
di branch ini . Anda dapat mendorong aplikasi yang menentukan -b https://github.com/cloudfoundry/java-buildpack.git#custom-ca-certs
dan Anda akan melihat tahapan aplikasi Anda dengan benar.
Sulit untuk mengatakan dengan tepat mengapa file Anda tidak dapat disalin, tetapi itu mungkin izin pada file cacerts
yang Anda tambahkan ke fork.
Oh, masalahnya adalah cacerts
adalah Java KeyStore
berisi semua sertifikat CA yang ingin Anda percayai .
Komentar yang paling membantu
Sertifikat yang dibagikan di semua aplikasi (misalnya CA yang digunakan di seluruh perusahaan) dapat ditambahkan menggunakan dukungan sertifikat tepercaya BOSH (juga tersedia di PCF Ops Manager). Sertifikat yang dibagikan di sejumlah, tetapi tidak harus semua, aplikasi dapat menggunakan garpu buildpack yang menggantikan file
cacerts
di JRE . Terakhir, sertifikat yang digunakan oleh satu aplikasi dapat dikemas dalam aplikasi itu sendiri (biasanya dalamMETA-INF
sehingga tidak dapat disajikan secara tidak sengaja kepada pengguna), dan dirujuk dengan properti sistem (misalnya-Djavax.net.ssl.trustStore=$PWS/app/META-INF/truststore.jks
).