มีมาตรฐานหรือแบบแผนสำหรับใบรับรอง SSL และกุญแจส่วนตัวที่เกี่ยวข้องควรไปที่ระบบไฟล์ UNIX / Linux หรือไม่?
ขอบคุณ
มีมาตรฐานหรือแบบแผนสำหรับใบรับรอง SSL และกุญแจส่วนตัวที่เกี่ยวข้องควรไปที่ระบบไฟล์ UNIX / Linux หรือไม่?
ขอบคุณ
คำตอบ:
สำหรับระบบการใช้งานกว้าง OpenSSL ควรให้คุณและ/etc/ssl/certs
/etc/ssl/private
หลังซึ่งจะถูก จำกัดไป700
root:root
หากคุณมีแอปพลิเคชันที่ไม่ทำการเริ่มต้น privsep จากroot
นั้นอาจเหมาะกับคุณในการค้นหาแอปพลิเคชั่นบางแห่งในท้องที่ของแอปพลิเคชั่นที่มีความเป็นเจ้าของและสิทธิ์ที่ จำกัด
/etc/ssl/certs
เท่าที่ฉันเห็น
ที่นี่ 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
สิ่งนี้จะแตกต่างจากการแจกจ่ายไปยังการจัดจำหน่าย ตัวอย่างเช่นในกรณีของ Amazon ลินุกซ์ (ขึ้นอยู่กับ RHEL 5.x และบางส่วนของ RHEL6 และเข้ากันได้กับ CentOS) ใบรับรองจะถูกเก็บไว้ในและคีย์จะถูกเก็บไว้ใน/etc/pki/tls/certs
/etc/pki/tls/private
ใบรับรอง CA มีไดเรกทอรีของตัวเองของพวกเขาและ/etc/pki/CA/certs
/etc/pki/CA/private
สำหรับการแจกจ่ายที่กำหนดโดยเฉพาะบนเซิร์ฟเวอร์ที่โฮสต์ฉันขอแนะนำให้ทำตามโครงสร้างไดเรกทอรี (และสิทธิ์) ที่มีอยู่แล้วหากมีอยู่
/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
หากคุณกำลังมองหาใบรับรองที่ใช้โดยอินสแตนซ์ Tomcat ของคุณ
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" />