Score:0

เหตุใดตัวเลือก openssl -trusted_first จึงทำงานแตกต่างจากตัวแปรสภาพแวดล้อม X509_V_FLAG_TRUSTED_FIRST

ธง us

ฉันมีสคริปต์ perl ที่รัน opensl เพื่อตรวจสอบความถูกต้องของใบรับรองในเครื่อง ฉันไม่ต้องการตั้งค่า env var แล้วเดินออกไป รู้สึกเหมือนมีบางอย่างตลกกับการติดตั้งหรือกำหนดค่า openssl ของฉัน

ระบบคืออะไร เวอร์ชันอะไร

ฉันกำลังตรวจสอบใบรับรองจาก Letsencrypt ในเครื่อง นี่คือระบบ 20.04/Focal opensl คือ OpenSSL 1.1.1f 31 มี.ค. 2020 ดังนั้นฉันจึงคาดหวังให้ตรวจสอบใบรับรองอย่างมีความสุขแม้ว่าจะมี LE "การลงนามข้าม" ก็ตามโดยใช้ใบรับรองรูท ISRG ใหม่

อย่างไรก็ตาม เมื่อใบรับรอง X3 เก่าหมดอายุ ข้อผิดพลาดเหล่านี้ก็เริ่มขึ้นâ¦

openssl ตรวจสอบ -verbose -purpose sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem
C = US, O = Internet Security Research Group, CN = ISRG Root X1 
ข้อผิดพลาด 2 ที่การค้นหาเชิงลึก 2: ไม่สามารถรับใบรับรองผู้ออก 
ข้อผิดพลาด /path/redacted/cert.pem: การยืนยันล้มเหลว

มันรู้สึกแปลกๆ การขุดบางอย่างทำให้ฉันสงสัยเกี่ยวกับ -trusted_first ตัวเลือกที่จะ ยืนยัน openssl. นี่คือสิ่งที่ openssl จะ บ่นว่าตัวเลือกแรกที่เชื่อถือได้คือ ไม่ เปิดใช้งาน การพยายามเปิดใช้งานตัวเลือกนั้นอย่างชัดเจนไม่มีผล:

การตรวจสอบ openssl -trusted_first -verbose -purpose sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem
C = US, O = Internet Security Research Group, CN = ISRG Root X1
ข้อผิดพลาด 2 ที่การค้นหาเชิงลึก 2: ไม่สามารถรับใบรับรองผู้ออก
ข้อผิดพลาด /path/redacted/cert.pem: การยืนยันล้มเหลว

ตกลงไม่เป็นไร. ตัวเลือกนั้น ควร อยู่บน โดยค่าเริ่มต้นตั้งแต่ openssl 1.1.1 (นั่นคือระบบนี้ ดูด้านบน) ดังนั้นการรวมไว้อย่างชัดเจนของฉันจึงไม่ควรสร้างความแตกต่าง

แต่ในที่สุดฉันก็ลองระบุเป็น env varเดี๋ยวก่อน วอท? เหตุใดการระบุตัวแปรสภาพแวดล้อมนี้จึงแก้ไขพฤติกรรมของ openssl เพื่อเชื่อถือใบรับรองหลักแรกที่พบในห่วงโซ่:

ตั้งค่า X509_V_FLAG_TRUSTED_FIRST openssl ตรวจสอบ -trusted_first -verbose -purpose sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem

â¦รันด้วยค่าออกจากศูนย์

ซูมออก

ฉันไม่เข้าใจว่าทำไม openssl ไม่ทำงาน (tm) นี่คือ 20.04 ที่อัปเดตอย่างสมบูรณ์ มีการติดตั้งใบรับรองรูท ISRG ที่ใหม่กว่า /etc/ssl/certs/ISRG_Root_X1.pem และ update-ca-ใบรับรอง มีความสุข:

กำลังอัปเดตใบรับรองใน /etc/ssl/certs...
0 เพิ่ม 0 ลบ; เสร็จแล้ว.
ใช้ hooks ใน /etc/ca-certificates/update.d...
เสร็จแล้ว.
Score:3
ธง us

ฉันค่อนข้างแน่ใจว่านั่นไม่ใช่วิธีที่คุณตั้งค่าตัวแปรสภาพแวดล้อมก่อนเรียกใช้คำสั่ง

https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html

ตัวอย่างเช่น ฉันคิดว่าคุณต้องการบางอย่างเช่น

X509_V_FLAG_TRUSTED_FIRST=1 openssl ตรวจสอบ -trusted_first -verbose -purpose sslserver -CAfile /path/redacted/chain.pem /path/redacted/cert.pem

แทน.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา