Bagaimana saya memeriksa apakah sertifikat SSL saya telah dicabut

23

Penemuan baru-baru ini tentang kerentanan heartbleed telah mendorong otoritas sertifikat untuk menerbitkan kembali sertifikat.

Saya memiliki dua sertifikat yang dibuat sebelum kerentanan heartbleed ditemukan. Setelah penerbit SSL mengatakan kepada saya untuk membuat ulang sertifikat, saya telah memperbarui kedua server / domain saya dengan sertifikat baru.

Jika pemahaman saya benar maka sertifikat lama seharusnya telah dicabut oleh CA dan harus membuatnya ke CRL (Daftar pencabutan Sertifikat) atau basis data OCSP (Protokol Status Sertifikat Online) jika tidak, secara teknis memungkinkan seseorang untuk melakukan " man in the middle attack "dengan membuat ulang sertifikat dari informasi yang diambil dari sertifikat yang dikompromikan.

Apakah ada cara untuk memeriksa apakah sertifikat lama saya berhasil masuk ke CRL dan OCSP. Jika belum, apakah ada cara untuk memasukkan mereka?

UPDATE: Situasinya adalah bahwa saya telah mengganti sertifikat saya yang saya miliki hanyalah file .crt dari sertifikat lama sehingga menggunakan url untuk memeriksa tidak benar-benar mungkin.

sridhar pandurangiah
sumber
Anda dapat memeriksa menggunakan certutil saya percaya. Baca di sini
MichelZ
1
Saya menggunakan Ubuntu sebagai desktop saya dan Centos di server saya
sridhar pandurangiah
Maka saya mendorong Anda untuk menandai pertanyaan Anda seperti itu
MichelZ
Saya merekomendasikan membaca ini untuk * nix
MichelZ
@MichelZ - saya telah menandai pertanyaan dengan Ubuntu
sridhar pandurangiah

Jawaban:

10

Dapatkan url ocsp dari sertifikat Anda:

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

Kirim permintaan ke server ocsp untuk memeriksa apakah sertifikat dicabut atau tidak:

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

ini adalah sertifikat yang bagus.

Ini adalah sertifikat yang dicabut:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$
Simon
sumber
Ini bekerja untuk saya (terima kasih), tetapi saya pikir saya juga akan menyebutkan bahwa selain Waktu Pencabutan, saya juga menampilkan Alasan Pencabutan, yang sangat membantu ketika kami menghubungi penerbit mencoba untuk mencari tahu apa yang sedang terjadi dengan sertifikat.
sdek
10

Anda dapat menggunakan certutil di Windows:

Jika Anda memiliki sertifikat dan ingin memverifikasi validitasnya, lakukan perintah berikut:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Misalnya, gunakan

certutil -f –urlfetch -verify mycertificatefile.cer

Sumber / Info lebih lanjut: TechNet

Selain itu, pastikan untuk memeriksa dengan CA Anda. Hanya karena Anda memulihkan sertifikat / mendapatkan sertifikat baru, tidak berarti mereka mencabutnya secara otomatis!

MichelZ
sumber
1
Untuk menginstal certutildi server Ubuntu gunakan perintah sudo apt-get install libnss3-tools. Ini tidak jelas karena mencari cache apt-get tidak mengembalikan hasil untuk string certutil. Saya tahu bahwa server OP adalah CentOS, tetapi ada kemungkinan bahwa admin Server Ubuntu lainnya akan menemukan pertanyaan ini juga membantu.
dotancohen
Jawaban saya murni berbasis Windows . Saya tidak tahu implementasi * nix apa pun dari ini. Lihat di sini untuk kemungkinan solusi * nix
MichelZ
2
@dotancohen Sementara program itu juga dipanggil certutil, itu bukan program yang sama seperti certutil.exepada Windows, dan tidak digunakan dengan cara yang sama.
Dan Getz
1

Anda dapat menggunakan layanan SSLLabs ini untuk menguji sertifikat SSL, tetapi Anda membutuhkannya agar dapat diakses dari web. Selain itu Anda dapat menemukan beberapa informasi lebih lanjut, karena layanan ini menyediakan beberapa audit.

mack
sumber
Ini mengharuskan server berjalan dengan sertifikat lama. Tetapi setelah meregenerasi sertifikat saya, yang saya miliki hanyalah file .crt dari sertifikat lama.
sridhar pandurangiah
1

Jika Anda telah mencabut sertifikat melalui CA yang menghasilkannya, maka mereka akan membuatnya ke OCSP dan CRL.

Jika Anda ingin memastikan bahwa itu adalah masalahnya, silakan ekstrak url ocsp dari sertifikat dan kemudian buat permintaan ocsp ke url tersebut termasuk nomor seri sertifikat, sertifikat penerbit dan ambil respons ocsp dan kemudian satu bisa parsing untuk memeriksa dan mengkonfirmasi bahwa itu memang dicabut.

Lebih detail di halaman yang berguna ini: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Catatan: ini membutuhkan penggunaan perpustakaan openssl.

Sunting1: Saya melihat bahwa Anda telah menambahkan informasi tentang OCSP dan CRL secara eksplisit setelah jawaban ini.

Khanna111
sumber