Pertanyaan Cara menyimpan sertifikat SSL server jauh secara lokal sebagai file


Saya perlu mengunduh sertifikat SSL dari server jarak jauh (bukan HTTPS, tetapi jabat tangan SSL harus sama dengan Google Chrome / IE / wget dan curl semua memberikan kesalahan pemeriksaan cek sertifikat) dan menambahkan sertifikat sebagai tepercaya di laptop saya Windows ' toko sertifikat karena saya tidak bisa mendapatkan orang-orang IT saya untuk memberi saya sertifikat CA.

ini untuk komunikasi kantor jadi saya tidak bisa benar-benar menggunakan klien yang sebenarnya untuk mendapatkan sertifikat.

Bagaimana saya melakukan ini, saya memiliki Windows 7 dan tumpukan Linux yang berguna sehingga bahasa alat / scripting apa pun baik-baik saja.


264
2018-01-18 07:43


asal


Untuk mendapatkan sertifikat a server email, Lihat security.stackexchange.com/questions/70528/… - That Brazilian Guy


Jawaban:


Jika Anda memiliki akses ke OpenSSL, coba

openssl s_client -connect {HOSTNAME}:{PORT} -showcerts

mengganti {HOSTNAME} dan {PORT} dengan apa pun nilai Anda.


251
2017-08-17 07:20



Saya lebih memilih opsi ini karena saya tidak perlu membuka GUI, dan saya bisa melakukannya melalui SSH dari server kami. - bramp
Plus berfungsi untuk protokol selain dari HTTP. - matt
solusi elec3647 sepenuhnya mengotomatiskan mengekstraksi KEP dalam pipa shell. - phs
443 adalah port default untuk HTTPS. - Flimm
saya memerlukannya -servername pilihan untuk mendapatkan sertifikat virtual host. gist.github.com/Artistan/5219484efb2fe51cd064175b3d0d5971 - Artistan


Metode cepat untuk mendapatkan sertifikat yang ditarik dan diunduh adalah dengan menjalankan perintah berikut yang menyalurkan output dari -showcerts ke perintah x509 ssl yang hanya menghapus semuanya. Sebagai contoh:

openssl s_client -showcerts -connect server.edu:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem

Untuk menggunakan sertifikat, dengan wget,

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem

184
2017-09-05 13:47



Saya mencoba ini (di situs web lain) - tetapi diharapkan rangkaian lengkap sertifikat: tampaknya ini hanya membawa kembali yang pertama dalam rantai - apakah itu yang diharapkan? - monojohnny
Itu tidak berhasil untuk saya: tidak dapat memuat sertifikat 27262: kesalahan: 0906D06C: rutin PEM: tidak_memulai: tidak ada baris awal: /SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_lib.c: 648: Mengharapkan: TRUSTED SERTIFIKAT - Janusz
Saya setuju dengan monojohnny, ini tidak memberi Anda rantai lengkap. - Michael Munsey
Terlambat tapi @monojohnny: openssl s_client -showcerts menampilkan semua sertifikat dalam rantai yang diterima (jika koneksi berhasil), tetapi melalui pipa openssl x509 hanya mengambil yang pertama dan membuang sisanya. Untuk mendapatkan semuanya, gunakan saja ...| sed -n '/^-----BEGIN CERT/,/^-----END CERT/p' atau ...| awk '/^-----BEGIN CERT/,/^-----END CERT/' Anda juga bisa menggunakan sedikit lebih rumit awk untuk menempatkan masing-masing sertifikat dalam file terpisah yang membuatnya lebih mudah digunakan openssl dan beberapa alat lainnya. - dave_thompson_085
Untuk menggunakan sertifikat, dengan wget, wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem - MUY Belgium


Sejujurnya, saya belum pernah mencoba ini sebelumnya (tidak pernah diperlukan), saya baru saja mencoba di Firefox dan tampaknya berfungsi untuk menghemat:

  1. Klik pada ikon sertifikat SSL di bagian atas / Gembok di bagian bawah.
  2. Klik View Certificate
  3. Klik pada Details Tab
  4. Pilih sertifikat mana yang Anda inginkan dari hierarki [tidak dilingkari dalam gambar]
  5. Klik Export

alt text


111
2018-01-18 07:56



Baik untuk diketahui - tetapi untuk rasa ingin tahu saya, dapatkah Anda menjelaskan lebih banyak lagi apa yang ingin Anda capai? Saya tidak pernah perlu mengekspor sertifikat klien SSL dan saya sangat ingin tahu mengapa Anda benar-benar harus melakukannya ... - William Hilsum
Itu sertifikat server, bukan sertifikat klien. Alasan utama untuk mengekspor kunci pribadi & sertifikat klien adalah mempertahankan cadangan, atau jika Anda ingin mengautentikasi menggunakan browser atau komputer lain. - gbroiles
@gbroiles - baca pertanyaannya, dia menggunakan istilah yang salah, tetapi ini memecahkan masalahnya. - William Hilsum
benar, dan saya menjawab pertanyaan Anda - mengapa seseorang ingin menyimpan sertifikat klien? "Sertifikat klien SSL" adalah istilah Anda, bukan miliknya. - gbroiles
Sepertinya tidak ada cara untuk melakukan ini di Chrome, kan ?! - fatuhoku


Mengekspor sertifikat menggunakan browser Chrome

  1. Hubungkan ke situs web menggunakan SSL (https: // apa pun)

2. Klik pada simbol kunci dan kemudian klik pada Rincian

  1. Sejak Chrome versi 56, Anda melakukan hal berikut: buka Menu Tiga Titik -> Alat Lainnya -> Alat Pengembang, lalu klik pada Tab Keamanan. Ini akan memberi Anda Ikhtisar Keamanan dengan Lihat sertifikat tombol.

  2. Klik pada Lihat sertifikat tombol.

    Jendela modal akan terbuka. Ini memiliki dua panel. Yang teratas menunjukkan hierarki kepercayaan sertifikat situs (yang terakhir terdaftar), sertifikat menengah, dan sertifikat root (yang paling atas).

    Panel kedua yang lebih besar, menunjukkan detail salah satu sertifikat.

    Mungkin ada nol atau lebih sertifikat perantara.

    Perhatikan bahwa sertifikat root memiliki ikon berbatas emas. Yang lain memiliki perbatasan biru.

    Lihat screen shot di bawah ini.

  3. Untuk mengekspor sertifikat:

    1. Klik pertama pada ikon sertifikat di hierarki kepercayaan.
    2. Sertifikat akan ditampilkan di bagian utama dari modal.
    3. Klik ikon besar sertifikat di bagian utama modal. Menyeret ikon ke desktop Anda. Chrome kemudian akan menyalin sertifikat ke desktop Anda.

enter image description here


40
2017-12-26 18:45



Saya harus menyeret ikon ke editor teks, desktop tidak bekerja untuk saya. - Cory Klein
Untuk Chrome di Windows, setelah Anda mengklik 'Lihat sertifikat', modalnya berbeda dari Mac. Klik tab Detail dan kemudian Salin ke File ... Lalu pilih format dan nama file, yang mudah. - PolyTekPatrick
Saat saya menggunakan Chrome v63 di Mac OS, file teks yang saya dapatkan dari menyeret sertifikat dapat dibaca manusia, tetapi tidak dalam format terstruktur apa pun yang dapat saya ketahui cara mengubahnya menjadi bentuk yang dapat dibaca mesin seperti X.509 .crt. - Jim DeLaHunt
tidak ada perbedaan jika membuka dari bilah alamat atau dari tab dev ini, dan masih tidak dapat mengunduh ... - user25


Ini adalah jawaban gbroiles, tetapi saya ingin menunjukkan bahwa proyek cURL memiliki halaman dengan beberapa detail lainnya dalam menggunakan openssl untuk menyimpan sertifikat SSL server jauh:

  • openssl s_client -connect {HOSTNAME}: {PORT} | tee logfile
  • Mengetik QUIT dan tekan tombol Enter / Kembali.
  • Sertifikat akan dicantumkan di antara "BEGIN CERTIFICATE" dan "END CERTIFICATE".
  • Jika Anda ingin melihat data dalam sertifikat, Anda dapat menggunakan:

    openssl x509 -inform PEM -in certfile -text -out certdata

    dimana certfile adalah sertifikat yang diambil dari logfile. Lihat kedalam certdata.


16
2017-10-18 22:10





otomatis

-servername diperlukan bagi saya untuk mendapatkan sertifikat yang tepat dari virtual host di server kami.

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem

Anda juga dapat mengonversi ke sertifikat untuk desktop

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

Bagian terakhir adalah menambahkannya ke sertifikat Anda, tidak yakin pada windows
untuk keychain mac yang saya gunakan, harus serupa ...

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer


5
2018-01-25 15:59



gist.github.com/Artistan/5219484efb2fe51cd064175b3d0d5971 - Artistan


Ini akan memberikan hasil yang berisi sertifikat saja

echo QUIT | \
openssl s_client -showcerts -connect hostname:port | \
awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}' "

1
2018-05-23 01:20