แสดงรายการใบรับรอง ssl ca ที่มีอยู่ทั้งหมด


35

ลูกค้า git ของฉันอ้างสิทธิ์

error: Peer's Certificate issuer is not recognized.

นั่นหมายความว่าไม่สามารถหาคีย์เซิร์ฟเวอร์ ssl ที่สอดคล้องกันได้ในระบบโกลบอลริง ฉันต้องการตรวจสอบสิ่งนี้โดยดูที่รายการของปุ่ม ssl ที่มีอยู่ในระบบทั้งหมดบนระบบ gentoo linux ฉันจะรับรายชื่อนี้ได้อย่างไร

คำตอบ:


65

ไม่ใช่กุญแจ SSL ที่คุณต้องการ แต่เป็นผู้ออกใบรับรองและใบรับรองของพวกเขานั้นถูกต้องมากขึ้น

คุณสามารถลอง:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

ในการรับ "หัวเรื่อง" ของใบรับรอง CA ทุกใบใน /etc/ssl/certs/ca-certificates.crt

ระวังว่าบางครั้งคุณจะได้รับข้อผิดพลาดนั้นเมื่อเซิร์ฟเวอร์ SSL ลืมที่จะให้ใบรับรองระดับกลาง

ใช้openssl s_client -showcerts -connect the-git-server:443เพื่อรับรายการใบรับรองที่ส่ง


2
//, สิ่งนี้ใช้ไม่ได้กับ CEntOS 6 แต่ฉันได้เพิ่มคำตอบสำหรับ CEntOS 6 ที่นี่: unix.stackexchange.com/a/363309/48498
Nathan Basanese

1
รายการจากtrust listจากแพคเกจ p11 ชุดเป็นหลักเดียวกันได้หรือไม่
ปาโบล

15

ไม่แน่ใจเกี่ยวกับ Gentoo แต่ distros /etc/ssl/certsที่สุดนำใบรับรองของพวกเขานุ่มการเชื่อมโยงในสถานที่ตั้งทั้งระบบที่

  • ไฟล์คีย์เข้าสู่ /etc/ssl/private
  • ไฟล์จริงที่ระบบจัดให้มีอยู่ที่ /usr/share/ca-certificates
  • ใบรับรองที่กำหนดเองเข้าไป /usr/local/share/ca-certificates

เมื่อใดก็ตามที่คุณใส่ใบรับรองในหนึ่งในเส้นทางที่กล่าวถึงข้างต้นให้เรียกใช้update-ca-certificatesเพื่ออัปเดต/etc/ssl/certsรายการ


1
/etc/ssl/certsเป็นโฟลเดอร์ที่ถูกต้องใน gentoo แต่ไฟล์เหล่านี้อ่านไม่ออกดีต่อสายตามนุษย์
Jonas Stein

3
มันupdate-ca-certificatesมีการเพิ่มเติมs(ไม่สามารถแก้ไขได้ด้วยตัวเองเนื่องจากมันเป็นเพียงการแก้ไขหนึ่งอักขระ)
Slaven Rezic

@SlavenRezic - มีคนแก้ไขมัน
Craig S. Anderson

3

ฉันมีความต้องการที่จะแสดงรายการทั้งหมดบนเซิร์ฟเวอร์ของเราและแจ้งให้ทราบว่าพวกเขาจะหมดอายุ เรามาพร้อมกับคำสั่งนี้:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.