บันทึกใบรับรอง SSL ระยะไกลผ่านทาง Linux Command Line


28

คุณนึกถึงวิธีบรรทัดคำสั่ง linux สำหรับการบันทึกใบรับรองที่แสดงโดยเซิร์ฟเวอร์ HTTPS ได้หรือไม่? มีบางอย่างตามสายของการมี curl / wget / openssl ทำการเชื่อมต่อ SSL และบันทึกใบรับรองแทนเนื้อหาการตอบกลับ HTTP

Gui เทียบเท่ากับสิ่งที่ฉันกำลังมองหาคือการเรียกดูไปยังไซต์ HTTPS ดับเบิลคลิกที่ไอคอน "ไซต์ที่ปลอดภัย" ของเบราว์เซอร์และส่งออกใบรับรอง ยกเว้นเป้าหมายที่นี่คือการทำแบบไม่โต้ตอบ

ขอบคุณจิม

คำตอบ:


40

สิ่งที่ต้องการ:

openssl s_client -servername remote.server.net -connect remote.server.net:443 </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/path/to/certificate.pem

นั่นคือสิ่งที่ฉันใช้กับ fetchmail เพื่อดึงใบรับรองของเซิร์ฟเวอร์ IMAP หรือ POP3 ที่รองรับ SSL (ยกเว้นเห็นได้ชัดว่าฉันไม่ได้ใช้พอร์ต 443)

(โปรดทราบว่า-servernameพารามิเตอร์"ซ้ำซ้อน" จำเป็นต้องทำการopensslร้องขอด้วยการสนับสนุน SNI)


1
วิธีใดที่จะได้รับห่วงโซ่เต็ม?
Collin Anderson

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.