Saya perlu menambahkan file .pem cert ke bundel CA cert default saya, tetapi saya tidak tahu di mana bundel CA Cert default disimpan.
Saya perlu menambahkan file .pem baru ke bundel default ini. Saya lebih suka melakukan itu daripada menentukan lokasi saya sendiri menggunakan --capath
CURL jelas tahu ke mana harus mencari tetapi saya tidak melihat perintah CURL yang mengungkapkan lokasi. Apakah ada perintah yang akan mengungkapkan lokasi ini? Bagaimana saya bisa menemukannya?
Menurut cURL:
Tambahkan CA cert untuk server Anda ke bundel CA cert default yang ada. Path default bundel CA yang digunakan dapat diubah dengan menjalankan configure dengan opsi --with-ca-bundle yang menunjukkan path pilihan Anda.
Terima kasih
ssl-certificate
curl
Slinky
sumber
sumber
Jawaban:
Berlari
curl
denganstrace
mungkin memberi Anda petunjuk.Banyak output, tetapi tepat di akhir saya melihat:
di situlah sertifikat saya disimpan.
sumber
strace
!strace
tidak tersedia di macOS, rupanya. "Setara"dtruss
mengatakan kepada saya "dtrace: gagal menginisialisasi dtrace: DTrace membutuhkan hak istimewa tambahan". Jadi saya menggunakannyasudo
. Di mana ia menjawab "dtrace: gagal mengeksekusi curl: dtrace tidak dapat mengontrol executable yang ditandatangani dengan hak terbatas". Tidak terlalu membantu.Seharusnya ada program 'curl-config' di curl's 'bin /', yaitu tempat biner 'curl' berada.
./curl-config --ca
memberikan path instalasi bundel ca.
Saya baru saja melakukan whatis curl-config: "Dapatkan informasi tentang instalasi libcurl" jadi saya kira itu hanya akan tersedia jika libcurl diinstal, yang saya anggap standar.
sumber
curl-config
Program tidak tersedia dengan semua versi dari program atau instalasi. Sebagai contoh, beberapa admin mungkin tidak memahami tujuan program dan tidak menginstalnya karena mereka pikir itu hanya alat konfigurasi build. Lebih lanjut, jika pengguna yang membutuhkan program bukan admin dari suatu sistem, mereka tidak dapat menginstalnya. Saya memiliki akses ke dua sistem, seseorang tidak memiliki program ini, yang lain memberikan tidak ada output untukcurl-config --ca
.strace
untuk menemukan informasi konfigurasi seharusnya tidak perlu.Saya menemukan cara mudah: gunakan
--cacert
dengan nama file yang salah , hasilnya akan menunjukkan path.Contoh:
sumber
Linux (Ubuntu, Debian)
Salin CA Anda ke dir / usr / local / share / ca-sertifikat /
Perbarui toko CA
Hapus CA Anda dan perbarui CA store:
Linux (CentOs 6)
Instal paket ca-sertifikat:
Aktifkan fitur konfigurasi CA dinamis: perbarui-ca-trust force-enable Tambahkan sebagai file baru ke
/etc/pki/ca-trust/source/anchors/
:Linux (CentOs 5)
Tambahkan sertifikat tepercaya Anda ke file
/etc/pki/tls/certs/ca-bundle.crt
https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html tautan yang sangat bagus, yang menjelaskan, cara menambahkannya ke beberapa OS populer.
sumber
Anda dapat mengunduh bundel CA Root Certificates dari haxx.se yang merupakan pembuat curl. kemudian tambahkan saja sertifikat Anda di .pem mereka dan lihat ketika menggunakan curl dengan opsi --cacert
sumber
-v
dengan https di URL.sumber
-k
opsi untuk melihat apakah ada perbedaan. Tidak ada perbedaan.Lokasi bundel CA default bergantung pada OS. Pada RHEL5, ini terletak di /etc/pki/tls/certs/ca-bundle.pem. Pada rasa lain dari OS Linux atau non-linux, mungkin ada di lokasi yang berbeda.
sumber