Saya memiliki sertifikat entitas akhir / server yang memiliki sertifikat perantara dan root. Ketika saya cat
pada sertifikat entitas akhir, saya hanya melihat satu BEGIN
dan END
tag. Ini adalah satu-satunya sertifikat entitas akhir.
Apakah ada cara saya dapat melihat konten sertifikat perantara dan root. Saya hanya perlu konten BEGIN
dan END
tag.
Di Windows saya bisa melihat rantai sertifikat penuh dari "Jalur Sertifikasi". Di bawah ini adalah contoh untuk sertifikat Stack Exchange.
Dari sana saya dapat melakukan Lihat Sertifikat dan mengekspornya. Saya bisa melakukannya untuk root dan intermediate di Windows. Saya mencari metode yang sama di Linux.
openssl
ssl
certificates
Anirban Nag 'tintinmj'
sumber
sumber
Jawaban:
Dari situs web, Anda dapat melakukan:
Itu akan menunjukkan rantai sertifikat dan semua sertifikat yang disajikan server.
Sekarang, jika saya menyimpan kedua sertifikat itu ke file, saya dapat menggunakan
openssl verify
:The
-untrusted
opsi digunakan untuk memberikan sertifikat menengah (s);se.crt
adalah sertifikat untuk memverifikasi. Kedalaman = 2 hasil berasal dari toko CA sistem tepercaya.Jika Anda tidak memiliki sertifikat perantara, Anda tidak dapat melakukan verifikasi. Itulah cara kerja X.509.
Tergantung pada sertifikat, itu mungkin berisi URI untuk mendapatkan perantara. Sebagai contoh,
openssl x509 -in se.crt -noout -text
mengandung:Itu "CA Issuers" URI menunjuk ke sertifikat menengah (dalam format DER, jadi Anda perlu menggunakannya
openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
untuk mengubahnya untuk digunakan lebih lanjut oleh OpenSSL).Jika Anda berlari
openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
Anda mendapatkan244b5494
yang Anda dapat mencari di CA toko sistem akar di/etc/ssl/certs/244b5494.0
(hanya append.0
ke nama).Saya tidak berpikir ada perintah OpenSSL yang bagus dan mudah untuk melakukan semua itu untuk Anda.
sumber
BEGIN
danEND
tag (yang akan Anda dapatkan hanya setelahcat
file .crt.openssl x509 -in file.crt -noout -text
BEGIN
danEND
.openssl x509
perintah, saya tidak berpikir sertifikat perantara ada di sana. (Kecuali jika Anda mendapat kesalahan dariopenssl x509
).tl; dr - one liner bash magic untuk membuang semua sertifikat di rantai
Penjelasan dalam 2 langkah
Untuk membuang semua sertifikat dalam rantai ke dir saat ini sebagai
cert${chain_number}.pem
:bonus-track untuk mengubah nama mereka menjadi nama bersama:
sumber