Di Chrome, mengklik ikon kunci HTTPS hijau membuka jendela dengan detail sertifikat:
Ketika saya mencoba hal yang sama dengan CURL, saya hanya mendapatkan beberapa informasi:
$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
* Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*
Adakah yang tahu bagaimana mendapatkan informasi sertifikat lengkap dari alat baris perintah (cURL atau lainnya)?
ssl
ssl-certificate
curl
Adam Matan
sumber
sumber
curl
Bendera saya saat ini--verbose
menunjukkan konten sertifikat server lengkap.Jawaban:
Anda harus dapat menggunakan OpenSSL untuk tujuan Anda:
Perintah itu terhubung ke situs web yang diinginkan dan pipa sertifikat dalam format PEM ke perintah openssl lain yang membaca dan mem-parsing detail.
(Perhatikan bahwa
-servername
parameter "redundant" diperlukan untukopenssl
melakukan permintaan dengan dukungan SNI.)sumber
OpenSSL> openssl:Error: 'CONNECTED(00000003)' is an invalid command.
openssl
vsopenssl x509 -inform pem -noout -text
). Apa yang ditulis Pedro berfungsi baik untuk saya.echo
dengan sendirinya sama denganecho ''
.. mengirimkan string kosong ke stdout.cat /dev/null |
akan bekerja juga dan sedikit lebih jelas.-text
dengan-enddate
, periksa opsi lain (openssl x509 help
).Solusi sederhana
Itu naskah saya sehari-hari:
Keluaran:
sumber
Tergantung pada jenis informasi yang Anda inginkan, tetapi:
harus memberi Anda sebagian besar, meskipun tidak sebaik yang dapat dibaca manusia seperti yang disajikan Chrome.
sumber
Yang
-p 443
menentukan untuk memindai port 443 saja. Semua port akan dipindai jika dihilangkan, dan detail sertifikat untuk layanan SSL apa pun yang ditemukan akan ditampilkan. The--script ssl-cert
menceritakan mesin scripting Nmap untuk menjalankan hanyassl-cert
skrip. Dari dokumen ini, skrip ini "(r) menghapus sertifikat SSL server. Jumlah informasi yang dicetak tentang sertifikat tergantung pada tingkat verbositas."Output sampel:
sumber
Untuk memeriksa detail sertifikat SSL, saya menggunakan alat baris perintah berikut sejak tersedia:
https://github.com/azet/tls_tools
Sangat bagus untuk memeriksa kembali apakah Anda memiliki semua informasi yang benar untuk menerbitkan kembali sertifikat atau memvalidasi sertifikat yang ada, dan juga beberapa dependensi DAN tidak memerlukan pengaturan.
Beginilah tampilan beberapa baris pertama dari output:
Output itu diikuti oleh seluruh rantai sertifikat pada tingkat detail yang sama.
Apa yang saya suka itu daripada menjadi alat cli ssl-sentris seperti s_client openssl, yang satu ini mencoba untuk hanya melakukan satu pekerjaan yang paling kita butuhkan. Tentu saja openssl lebih fleksibel (mis. Juga memeriksa clientcerts, imaps pada port aneh, dll) - tapi saya tidak selalu membutuhkannya.
Atau, jika Anda punya waktu untuk menggali & mengatur atau menghargai lebih banyak fitur, ada alat yang lebih besar bernama sslyze (tidak menggunakannya karena dependensi dan instal ...)
sumber
Untuk kelengkapan: jika Anda telah menginstal pada sistem Java 7 atau lebih tinggi
menunjukkan rantai (seperti yang disajikan) dengan hampir semua detail dalam format yang sebagian besar agak jelek.
Apakah Anda harus menginstal Java pada sistem Anda, saya tidak menjawab.
sumber
Saya menggunakan skrip shell untuk ini. Itu hanya pembungkus di sekitar perintah openssl yang menyelamatkan saya dari mengingat sintaks.
Ini memberikan opsi untuk menguraikan sebagian besar informasi sertifikat yang biasanya saya minati, atau menampilkan keluaran openssl mentah.
Dapat meminta file sertifikat lokal, atau server jauh.
Pemakaian:
Anda bisa mendapatkan skrip di sini: http://giantdorks.org/alain/shell-script-to-check-ssl-certificate-info-like-expiration-date-and-subject/
sumber
Jika Anda ingin melakukan ini di Windows Anda dapat menggunakan PowerShell dengan fungsi berikut:
Ini memungkinkan Anda untuk melakukan beberapa hal seperti rapi
sumber
sumber
Jika Anda hanya menginginkan tanggal kedaluwarsa (yang bukan jawabannya tetapi 9/10 untuk apa orang menggunakan detail sertifikas Chrome), Anda dapat menggunakan:
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate
Berguna untuk skrip dll
sumber