ใช้บรรทัดคำสั่งเว็บไซต์ดาวน์โหลดเช่นwget
, curl
หรืออื่น ๆ ... ในสคริปต์ ...
ฉันมีลายนิ้วมือรับรอง SHA-1 และ SHA-256 ของเว็บไซต์ เนื่องจากข้อกังวลด้านความปลอดภัย ( 1 ) ( 2 ) ฉันไม่ต้องการใช้ระบบการออกใบรับรอง SSL สาธารณะ ลายนิ้วมือจะต้องมีการเข้ารหัสอย่างหนัก
แอพพลิเคชั่นอย่าง wget สามารถตรวจสอบลายนิ้วมือ SSL ได้หรือไม่?
wget ไม่มีฟังก์ชั่นดังกล่าว ( 3 )
การใช้wget --ca-certificate
หรือcurl --cacert
ฉันจะต้องเรียกใช้ผู้ออกใบรับรองท้องถิ่นของฉันซึ่งฉันต้องการป้องกันเพราะนั่นเพิ่มความซับซ้อนมาก นอกจากนี้ยังยากเป็นพิเศษและไม่มีใครทำแบบนั้นมาก่อน ( 4 )
ไม่มีเครื่องมืออะไรเลย
download --tlsv1 --serial-number xx:yy:zz --fingerprint xxyyzz https://site.com
ใช่ไหม
แน่นอนว่าการแก้ปัญหาต้องไม่เสี่ยงต่อ TOCTOU ( 5 ) MITM สามารถปล่อยลายนิ้วมือที่ถูกต้องสำหรับการร้องขอของไคลเอ็นต์ openssl และแก้ไขด้วยการร้องขอ wget ต่อไปนี้