ตำแหน่งใบรับรอง SSL บน UNIX / Linux


114

มีมาตรฐานหรือแบบแผนสำหรับใบรับรอง SSL และกุญแจส่วนตัวที่เกี่ยวข้องควรไปที่ระบบไฟล์ UNIX / Linux หรือไม่?

ขอบคุณ

คำตอบ:


90

สำหรับระบบการใช้งานกว้าง OpenSSL ควรให้คุณและ/etc/ssl/certs /etc/ssl/privateหลังซึ่งจะถูก จำกัดไป700root:root

หากคุณมีแอปพลิเคชันที่ไม่ทำการเริ่มต้น privsep จากrootนั้นอาจเหมาะกับคุณในการค้นหาแอปพลิเคชั่นบางแห่งในท้องที่ของแอปพลิเคชั่นที่มีความเป็นเจ้าของและสิทธิ์ที่ จำกัด


4
มาตรฐานนี้อยู่ที่ไหนสักแห่ง? มาตรฐานลำดับชั้นของระบบไฟล์ไม่มีอยู่
cweiske

1
@ cweiske สิ่งนี้ดูเหมือนจะเป็นการประชุมทางประวัติศาสตร์ของ OpenSSL ซึ่งไม่ได้เป็นมาตรฐานอย่างเป็นทางการ การติดตามที่เก่าที่สุดของฉันคือรุ่นนี้: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/…
kubanczyk

6
น่าสังเกตว่านี่เป็นเพียงดิสทริบิวชันพื้นฐานของเดเบียนเท่านั้น
Joshua Griffiths

2
ฉันสามารถเก็บใบรับรอง SSL (เช่น Let's Encrypt หรือ Cloudflare) สำหรับเว็บไซต์ได้หรือไม่ ขอบคุณ!
Vladyslav Turak

1
Arch และ CentOS ยังเก็บ ca certs /etc/ssl/certsเท่าที่ฉันเห็น
theferrit32

50

ที่นี่ Go จะค้นหาใบรับรองหลักสาธารณะ :

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7

ยัง :

"/etc/ssl/certs",               // SLES10/SLES11, https://golang.org/issue/12139
"/system/etc/security/cacerts", // Android
"/usr/local/share/certs",       // FreeBSD
"/etc/pki/tls/certs",           // Fedora/RHEL
"/etc/openssl/certs",           // NetBSD

14

สิ่งนี้จะแตกต่างจากการแจกจ่ายไปยังการจัดจำหน่าย ตัวอย่างเช่นในกรณีของ Amazon ลินุกซ์ (ขึ้นอยู่กับ RHEL 5.x และบางส่วนของ RHEL6 และเข้ากันได้กับ CentOS) ใบรับรองจะถูกเก็บไว้ในและคีย์จะถูกเก็บไว้ใน/etc/pki/tls/certs /etc/pki/tls/privateใบรับรอง CA มีไดเรกทอรีของตัวเองของพวกเขาและ/etc/pki/CA/certs /etc/pki/CA/privateสำหรับการแจกจ่ายที่กำหนดโดยเฉพาะบนเซิร์ฟเวอร์ที่โฮสต์ฉันขอแนะนำให้ทำตามโครงสร้างไดเรกทอรี (และสิทธิ์) ที่มีอยู่แล้วหากมีอยู่


1
เช่นเดียวกันสำหรับ CentOS7 เช่นกันขอบคุณ
ยาโคบอีแวนส์

1

/etc/ssl/certsใช้อูบุนตู นอกจากนี้ยังมีคำสั่งซึ่งจะติดตั้งใบรับรองจากupdate-ca-certificates/usr/local/share/ca-certificates

ดังนั้นการติดตั้งใบรับรองของคุณเองในการ/usr/local/share/ca-certificatesทำงานและupdate-ca-certificatesดูเหมือนว่าจะได้รับการแนะนำ

http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html


-1

หากคุณกำลังมองหาใบรับรองที่ใช้โดยอินสแตนซ์ Tomcat ของคุณ

  1. เปิดไฟล์ server.xml
  2. ค้นหาตัวเชื่อมต่อ SSL / TLS
  3. ดูkeystoreFileแอ็ตทริบิวต์ที่มีพา ธ ไปยังไฟล์ที่เก็บคีย์

ดูเหมือนว่า

<Connector
    protocol="org.apache.coyote.http11.Http11Protocol"
    port="8443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="${user.home}/.keystore" keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.