Mencoba mengonversi sertifikat server web ke file PEM untuk wireshark untuk memantau lalu lintas ssl dalam format HTTP

1

Saya mencoba memantau lalu lintas https sebagai HTML yang dapat dibaca.

Saya telah mengunduh sertifikat dari server.

"Di Internet Explorer, saya memilih sertifikat dan menyalin ke file, DER disandikan biner X.509 (cer)"

Saya menjalankan perintah ini berfungsi:

openssl x509 -inform der -in Test3.cer -out key.cert

Dan saya mendapatkan file key.cert dengan:

--MULAI SERTIFIKAT.

...

Sebagai informasi, saya menjalankan perintah ini. Saya mendapat cukup banyak informasi tentang sertifikat:

membukas x509 -di key.cert -tidak -teks

Menurut dokumen, saya perlu memiliki key.pem, file pribadi / kunci.

Jadi saya mencoba menjalankan perintahnya, saya pikir untuk mendapatkan format output der.

openssl base64 -in key.cert -out 1.der

... Dan kemudian saya menjalankan ini untuk mendapatkan file pem dan saya mendapatkan kesalahan ini:

Kunci pembacaan kesalahan 6072: kesalahan: 0906D06C: rutinitas PEM: PEM_read_bio: tidak ada garis start: pem_lib.c: 648: Harapkan ing: KUNCI PRIVATE TERENKRIPSI

openssl pkcs8 -dalam 1.der -out temp.pem


--- Saya mencoba ini juga

$ openssl pkcs8 -topk8 -inform der -in 1.der -out temp.pem
unable to load key
2752:error:0D094065:asn1 encoding routines:d2i_ASN1_SET:bad class:a_set.c:190:
2752:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:
1315:
2752:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:ta
sn_dec.c:379:Type=RSA
2752:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:d2i_pr.c:99:
Berlin Brown
sumber

Jawaban:

1

Untuk mendekripsi lalu lintas, Anda memerlukan kunci pribadi dan sertifikat. Kunci disimpan (semoga aman) di server web, dan digunakan bersama dengan sertifikat untuk mengotentikasi dirinya kepada Anda, pengguna.

Perintah yang Anda jalankan tidak akan berfungsi tanpa kunci pribadi. Output di atas dari openssl base64 -in key.cert -out 1.der memberi tahu Anda hal ini ketika dikatakan mengharapkan kunci privat terenkripsi, sedangkan Anda memberikan sertifikat.

Jika Anda mencoba mendekripsi lalu lintas antara diri Anda dan server web yang dapat Anda akses, dapatkan kunci pribadi dari server web. Jika itu bukan server web Anda, maka Anda tidak akan dapat mendekripsi lalu lintas - itulah inti dari SSL / TLS.

Andy Smith
sumber
Bagaimana cara browser mengirim informasi yang dienkripsi tanpa kunci? Perintah apa yang harus saya jalankan setelah saya mendapatkan kunci (dan saya sudah memiliki sertifikat).
Berlin Brown
Jabat tangan antara server dan klien lebih rinci daripada yang bisa saya jelaskan dalam komentar - lihat en.wikipedia.org/wiki/Transport_Layer_Security untuk lebih jelasnya. Jika kunci / sertifikat tidak terenkripsi, maka Anda bisa menyalin dan menempelkan keduanya ke file yang sama. Lihatlah madboa.com/geek/openssl untuk lebih.
Andy Smith