คำตอบง่ายๆสำหรับเรื่องนี้ก็คือแอพพลิเคชั่นแต่ละตัวจะจัดการกับมันต่างกัน
นอกจากนี้ OpenSSL และ GNUTLS (ไลบรารีการประมวลผลการรับรองที่ใช้กันอย่างแพร่หลายที่สุดที่ใช้ในการจัดการใบรับรองที่ลงนามแล้ว) ก็มีพฤติกรรมที่แตกต่างกันไปในการรักษา certs ซึ่งทำให้ปัญหาซับซ้อนยิ่งขึ้น ระบบปฏิบัติการใช้กลไกต่าง ๆ เพื่อใช้ "root CA" ที่เว็บไซต์ส่วนใหญ่ใช้
นอกเหนือจากนั้นให้ Debian เป็นตัวอย่าง ติดตั้งca-certificates
แพ็คเกจ:
apt-get install ca-certificates
จากนั้นคุณคัดลอกครึ่งสาธารณะของใบรับรอง CA ที่ไม่น่าเชื่อถือของคุณ (ที่คุณใช้ในการลงนาม CSR ของคุณ) ลงในไดเรกทอรีใบรับรอง CA (เป็น root):
cp cacert.pem /usr/share/ca-certificates
และรับมันไปสร้างไดเรกทอรีใหม่โดยมีใบรับรองของคุณรวมอยู่ด้วยรันเป็นรูท:
dpkg-reconfigure ca-certificates
และเลือกask
ตัวเลือกเลื่อนไปที่ใบรับรองของคุณทำเครื่องหมายเพื่อรวมและเลือกตกลง
เบราว์เซอร์ส่วนใหญ่ใช้ฐานข้อมูล CA ของตัวเองและcertutil
ต้องมีการใช้เครื่องมือต่าง ๆ เพื่อแก้ไขเนื้อหา (บน Debian ที่จัดทำโดยlibnss3-tools
แพ็คเกจ) ตัวอย่างเช่นเมื่อใช้ Chrome คุณสามารถเรียกใช้บางสิ่งตามบรรทัดต่อไปนี้:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
Firefox จะอนุญาตให้คุณเรียกดูใบรับรองบนดิสก์รู้จักไฟล์ใบรับรองแล้วอนุญาตให้คุณนำเข้ารายการ Root CA
คำสั่งอื่น ๆ ส่วนใหญ่เช่นcurl
สวิตช์บรรทัดคำสั่งที่คุณสามารถใช้เพื่อชี้ไปที่ CA ของคุณ
curl --cacert /path/to/CA/cert.file https://...
หรือปล่อยการตรวจสอบ SSL ทั้งหมด
curl --insecure https://...
ส่วนที่เหลือจะต้องมีการตรวจสอบเป็นรายบุคคลหากca-certificates
เคล็ดลับทำนองนี้ไม่ได้จัดเรียงไว้สำหรับแอปพลิเคชันนั้น