วิธีการนี้จะสาธิตวิธีการติดตั้ง SSL /TLS ใบรับรองบน macOS 10.14 Mojave มีให้สองสถานการณ์:
- ติดตั้ง SSL /TLS ใบรับรองสำหรับการใช้งานทั่วทั้งระบบใน Keychain Access
- ติดตั้ง SSL /TLS ใบรับรองสำหรับใช้กับเซิร์ฟเวอร์ Apache ที่มาพร้อมกับ macOS
ขึ้นอยู่กับสถานการณ์ของคุณคุณอาจต้องการทำสิ่งใดสิ่งหนึ่งหรือทั้งสองอย่างนี้ ตัวอย่างเช่นหากคุณกำลังตั้งค่าสภาพแวดล้อมการพัฒนาเฉพาะที่และต้องการให้ใบรับรองพร้อมใช้งานสำหรับทั้งซอฟต์แวร์ Apache และไคลเอนต์เช่นเว็บเบราว์เซอร์คุณจะต้องทำทั้งสองอย่าง ในทั้งสองกรณีเราจะเริ่มต้นด้วยการสมมติว่าคุณสร้างคำขอลงนามใบรับรอง (CSR) ใน Keychain Access ดังแสดงในของเรา วิธีการ. ในกรณีนี้คีย์ส่วนตัวของคุณจะได้รับการติดตั้งในการเข้าถึงพวงกุญแจแล้ว นอกจากนี้เราจะถือว่าการตรวจสอบความถูกต้องเสร็จสมบูรณ์และใบรับรองของคุณพร้อมสำหรับการดาวน์โหลด สำหรับข้อมูลเกี่ยวกับการสั่งซื้อและการดึงใบรับรองโปรดดูวิธีการของเรา การสั่งซื้อและการดึง SSL /TLS ใบรับรอง.
ขั้นตอนแรก
-
ดาวน์โหลดชุดใบรับรองจากบัญชีผู้ใช้ของคุณโดยใช้ไฟล์ อาปาเช่ ลิ้งค์ดาวน์โหลด.
-
แตกไฟล์ ควรมีใบรับรองของคุณ (ชื่อไฟล์จะขึ้นอยู่กับชื่อสามัญในไฟล์ CSR และจบลงด้วย
.crt) และชุดข้อมูล CA (ca-bundle-client.crt).
การติดตั้งใบรับรองในการเข้าถึงพวงกุญแจ
-
จุดเปิด แอป Keychain, ตั้งอยู่ที่ / Applications / Utilities.
-
เลือกพวงกุญแจที่ติดตั้งคู่กุญแจของคุณ ในกรณีนี้เป็นไฟล์ System พวงกุญแจ
-
นำทางไปยัง ไฟล์> นำเข้ารายการ ...
-
ไปที่ใบรับรองใหม่ของคุณเลือกใบรับรองแล้วคลิก จุดเปิด.
-
ป้อนรหัสผ่านของคุณแล้วคลิก ปรับเปลี่ยนพวงกุญแจ.
- ทำซ้ำขั้นตอนที่ 3-5 ด้านบนด้วย
ca-bundle-client.crtเพื่อติดตั้งห่วงโซ่ใบรับรองระดับกลาง -
คุณสามารถยืนยันว่าได้ติดตั้งใบรับรองแล้วโดยเลือก ใบรับรอง จากเมนูแถบด้านข้างซ้าย
ติดตั้งใบรับรองสำหรับ Apache
-
ถ้าคุณ สร้างของคุณ CSR ใน Keychain Accessคุณจะต้องส่งออกคีย์ส่วนตัวของคุณเป็นไฟล์เพื่อใช้กับ Apache เปิด แอป Keychain, ตั้งอยู่ที่ / Applications / Utilities. (ถ้าคุณ สร้างแล้ว CSR ด้วย OpenSSL หรือด้วย SSL.com CSR ผู้จัดการ คุณสามารถข้ามไปที่ขั้นตอนที่ 9 ด้านล่าง)
-
ใช้เมนูแถบด้านข้างทางซ้ายเพื่อ จำกัด ตัวเลือกของคุณค้นหาและเลือกคีย์ส่วนตัวที่คุณต้องการส่งออก ในกรณีนี้เราจะส่งออกคีย์ส่วนตัวสำหรับ
www.lunchinhouston.comตั้งอยู่ในSystemพวงกุญแจ -
Choose ไฟล์> ส่งออกรายการ ... จากเมนู
-
ตรวจสอบให้แน่ใจว่ารูปแบบไฟล์ที่เลือกคือ การแลกเปลี่ยนข้อมูลส่วนบุคคล (.p12) และบันทึกไฟล์ไปยังสถานที่ที่คุณจะสามารถค้นหาได้
-
ป้อนรหัสผ่านของคุณเพื่อปลดล็อกพวงกุญแจ (หากได้รับแจ้ง) จากนั้นสร้างรหัสผ่านสำหรับไฟล์. p12 แล้วคลิก OK.
-
จุดเปิด
Terminal.appตั้งอยู่ใน/Applications/Utilities/โฟลเดอร์และนำทางไปยังโฟลเดอร์ที่คุณจัดเก็บไฟล์. p12 จากขั้นตอนที่ 5 -
ใช้
opensslเพื่อแยกคีย์ส่วนตัวจากไฟล์. p12 (หมายเหตุ แทนที่ชื่อไฟล์ที่แสดงที่นี่สำหรับชื่อไฟล์. p12 ของคุณและชื่อไฟล์ที่คุณต้องการใช้สำหรับคีย์) คุณจะได้รับแจ้งก่อนให้ป้อนรหัสผ่านที่คุณสร้างในขั้นตอนที่ 5 จากนั้นให้แจ้งให้สร้างและตรวจสอบรหัสผ่านเพื่อป้องกันรหัสส่วนตัว$ openssl pkcs12 -nocerts -in Certificates.p12 - ออก privkey.key
-
ถัดไปคุณจะต้องถอดรหัสคีย์ส่วนตัว ป้อนคำสั่งต่อไปนี้แทนที่ชื่อของไฟล์อินพุตและเอาต์พุตตามต้องการ (ใช้ชื่อเดียวกับที่แสดงด้านล่างจะเขียนทับไฟล์ที่เข้ารหัส) คุณจะได้รับแจ้งให้ป้อนรหัสผ่านที่คุณสร้างไว้ในขั้นตอนที่ 7
$openssl rsa -ใน privkey.key -ออก privkey.key
- ใส่คีย์ส่วนตัวใบรับรองและไฟล์บันเดิลกลางในไดเร็กทอรีที่ปลอดภัยซึ่ง Apache สามารถอ่านได้ สำหรับวิธีการนี้เราจะใช้
/private/etc/apache2/. ขึ้นอยู่กับตำแหน่งที่เลือกคุณอาจต้องใช้sudoเพื่อย้ายไฟล์ -
เปิดไฟล์กำหนดค่าหลักของ Apache
httpd.confในตัวแก้ไขข้อความ ในการติดตั้ง Apache มาตรฐาน Mojave ไฟล์นี้จะอยู่ใน/private/etc/apache2/ไดเรกทอรี เพื่อเปิดไฟล์สำหรับแก้ไขด้วยnanoรันคำสั่งต่อไปนี้:$ sudo นาโน /private/etc/apache2/httpd.conf
หมายเหตุ เพราะคุณกำลังใช้sudoหากต้องการถือว่ามีสิทธิ์เพียงพอที่จะแก้ไขไฟล์นี้ชั่วคราวคุณจะได้รับแจ้งให้ป้อนรหัสผ่านก่อนดำเนินการต่อ -
ค้นหาบรรทัดเหล่านี้ใน
httpd.confและ uncomment พวกเขาโดยการลบ#อักขระที่จุดเริ่มต้นของแต่ละบรรทัด:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... ... / โหลดส่วนตัว / sache_module libslec / apache2 / mod_ssl.so ... รวม /private/etc/apache2/extra/httpd-vhosts.conf รวม ... / / ส่วนตัว เสริม / httpd-ssl.conf
หมายเหตุ หากคุณกำลังใช้nanoเพื่อแก้ไขhttpd.confคุณสามารถค้นหาสตริงข้อความด้วยCtrl-W - ลด
httpd.confและออกจากโปรแกรมแก้ไขข้อความ (Ctrl-O, ติดตามโดยCtrl-Xinnano). -
ถัดไปเปิด
httpd-ssl.confสำหรับการแก้ไข:$ sudo นาโน /private/etc/apache2/extra/httpd-ssl.conf
-
มองหาบรรทัดต่อไปนี้และตรวจสอบให้แน่ใจว่า Apache กำลังฟังอยู่บนพอร์ต
443. หากตั้งค่าพอร์ตไว้เป็น8443หรือค่าอื่น ๆ ให้เปลี่ยนเป็น443.# # เมื่อเราจัดหา SSL เราต้องฟัง # พอร์ต HTTP มาตรฐาน (ดูด้านบน) และไปยังพอร์ต HTTPS # Listen 443
- ค้นหาบรรทัดที่ขึ้นต้นด้วยสตริง
<VirtualHost _default_:(หมายเลขพอร์ตอาจแตกต่างกัน) และใส่ความคิดเห็นหรือลบ ทั้งหมด เส้นระหว่างนั้นกับ</virtualhost>. - ลด
httpd-ssl.confและออกจากโปรแกรมแก้ไขข้อความ -
ถัดไปเปิด
httpd-vhosts.confสำหรับการแก้ไข:$ sudo นาโน /private/etc/apache2/extra/httpd-vhosts.conf
-
สร้างรายการ VirtualHost สำหรับไซต์ที่คุณต้องการป้องกัน (ใช้ค่าจริงสำหรับเว็บไซต์และเซิร์ฟเวอร์ของคุณแทนที่จะเป็นตัวยึดตำแหน่งที่แสดงที่นี่) จากนั้นบันทึกไฟล์และออกจากโปรแกรมแก้ไขข้อความ
DocumentRoot "/ PATH / TO / WEBSITE" ServerName SERVERNAME SSLEngine บน SSLCertificateFile "/private/etc/apache443/server.crt" SSLCertificateKeyFile "/private/etc/apache2/server.key" SSLCertificateChainFile "/ private / etc / apache2 / ca- มัด-client.crt "
-
ตรวจสอบการกำหนดค่า Apache ของคุณด้วยคำสั่งต่อไปนี้:
$ sudo apachectl กำหนดค่าการทดสอบ
-
หากทุกอย่างเรียบร้อยให้รีสตาร์ท Apache:
$ sudo apachectl รีสตาร์ท
-
ถ้าทุกอย่างเป็นไปอย่างถูกต้องแสดงว่าเสร็จแล้ว! คุณควรจะสามารถไปที่เว็บไซต์ HTTPS ของคุณในเว็บเบราว์เซอร์













