Petunjuk ini akan mendemonstrasikan cara memasang SSL /TLS sertifikat pada macOS 10.14 Mojave. Dua skenario disediakan:
- Instal SSL /TLS sertifikat untuk penggunaan seluruh sistem di Akses Keychain
- Instal SSL /TLS sertifikat untuk digunakan dengan server Apache yang disertakan dengan macOS
Bergantung pada situasi Anda, Anda mungkin ingin melakukan salah satu atau kedua hal ini; misalnya, jika Anda menyiapkan lingkungan pengembangan lokal dan ingin sertifikat tersedia untuk Apache dan perangkat lunak klien seperti browser web, Anda harus melakukan keduanya. Dalam kedua kasus tersebut, kami akan mulai dengan mengasumsikan bahwa Anda membuat permintaan penandatanganan sertifikat (CSR) di Akses Keychain, seperti yang ditunjukkan di bagaimana-untuk. Dalam hal ini, kunci pribadi Anda sudah diinstal di Akses Rantai Kunci. Kami juga akan menganggap bahwa validasi telah selesai dan sertifikat Anda siap untuk diunduh. Untuk informasi tentang memesan dan mengambil sertifikat, silakan lihat cara kami, Memesan dan Mengambil SSL /TLS sertifikat.
Pertama Langkah
-
Unduh paket sertifikat dari akun pengguna Anda, menggunakan Apache tautan unduhan.
-
Buka zip file. Ini harus berisi sertifikat Anda (nama file akan didasarkan pada nama umum di Anda CSR dan diakhiri dengan
.crt
) dan bundel CA (ca-bundle-client.crt
).
Menginstal Sertifikat di Akses Keychain
-
Open Akses Gantungan Kunci.app, terletak di / Aplikasi / Utilitas.
-
Pilih rantai kunci tempat pasangan kunci Anda dipasang. Dalam hal ini adalah System gantungan kunci.
-
Navigasi ke File> Impor Item…
-
Arahkan ke sertifikat baru Anda, pilih, dan klik Open.
-
Masukkan kata sandi Anda dan klik Ubah Gantungan Kunci.
- Ulangi langkah 3-5 di atas dengan
ca-bundle-client.crt
untuk menginstal rantai sertifikat perantara. -
Anda dapat mengonfirmasi bahwa sertifikat telah diinstal dengan memilih sertifikat dari menu sidebar kiri.
Instal Sertifikat untuk Apache
-
Jika kamu menghasilkan CSR dalam Akses Keychain, Anda perlu mengekspor kunci pribadi Anda sebagai file untuk digunakan dengan Apache. Buka Akses Gantungan Kunci.app, terletak di / Aplikasi / Utilitas. (Jika kamu menghasilkan CSR dengan OpenSSL atau dengan SSL.com CSR manajer Anda dapat melompat ke langkah 9 di bawah ini.)
-
Menggunakan menu sidebar kiri untuk mempersempit pilihan Anda, temukan dan pilih kunci pribadi yang ingin Anda ekspor. Dalam hal ini kita akan mengekspor kunci privat untuk
www.lunchinhouston.com
, terletak diSystem
gantungan kunci. -
Pilih File> Ekspor Item… dari menu.
-
Pastikan format file yang dipilih adalah Pertukaran Informasi Pribadi (.p12) dan simpan file ke tempat di mana Anda akan dapat menemukannya.
-
Masukkan kata sandi Anda untuk membuka kunci rantai kunci (jika diminta), lalu buat kata sandi untuk file .p12 dan klik OK.
-
Open
Terminal.app
, terletak di/Applications/Utilities/
folder, dan navigasikan ke folder tempat Anda menyimpan file .p12 dari langkah 5. -
penggunaan
openssl
untuk mengekstrak kunci pribadi dari file .p12. (Catatan: ganti nama file yang ditampilkan di sini untuk nama file .p12 Anda dan nama file yang ingin Anda gunakan untuk kunci). Pertama-tama Anda akan diminta memasukkan kata sandi yang Anda buat pada langkah 5, kemudian diminta untuk membuat dan memverifikasi kata sandi untuk melindungi kunci pribadi.$ openssl pkcs12 -nocerts -dalam Certificates.p12 -out privkey.key
-
Selanjutnya, Anda perlu mendekripsi kunci privat. Masukkan perintah berikut, gantikan nama file input dan output sesuai keinginan (menggunakan nama yang sama seperti yang ditunjukkan di bawah ini akan menimpa file yang dienkripsi). Anda akan diminta untuk memasukkan kata sandi yang Anda buat pada langkah 7.
$ openssl rsa -masuk privkey.key -keluar privkey.key
- Letakkan file kunci pribadi, sertifikat, dan bundel perantara di direktori aman tempat Apache dapat membacanya. Untuk petunjuk ini akan kami gunakan
/private/etc/apache2/
. Tergantung pada lokasi yang dipilih yang mungkin perlu Anda gunakansudo
untuk memindahkan file. -
Buka file konfigurasi utama Apache,
httpd.conf
, dalam editor teks. Pada instalasi standar Mojave Apache, file ini terletak di/private/etc/apache2/
direktori. Untuk membuka file yang akan dieditnano
, jalankan perintah berikut:$ sudo nano /private/etc/Apache2/httpd.conf
Catatan: Karena Anda menggunakansudo
untuk sementara mengambil hak istimewa untuk mengedit file ini, Anda akan diminta untuk memasukkan kata sandi Anda sebelum melanjutkan. -
Temukan baris ini di
httpd.conf
dan batalkan komentar dengan menghapus#
karakter di awal setiap baris:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Sertakan /private/etc/apache2/extra/http ... extra / httpd-ssl.conf
Catatan: jika Anda menggunakannano
untuk mengedithttpd.conf
, Anda dapat mencari string teks denganCtrl-W
- Save
httpd.conf
dan keluar dari editor teks (Ctrl-O
, Diikuti olehCtrl-X
innano
). -
Selanjutnya, buka
httpd-ssl.conf
untuk mengedit:$ sudo nano /private/etc/Apache2/extra/httpd-ssl.conf
-
Cari baris berikut dan pastikan Apache mendengarkan di port
443
. Jika port diatur ke8443
atau nilai lain, ubah ke443
.# # Ketika kami juga menyediakan SSL, kami harus mendengarkan # port HTTP standar (lihat di atas) dan ke port HTTPS # Dengarkan 443
- Cari baris yang diawali dengan string
<VirtualHost _default_:
(nomor port dapat bervariasi) dan mengomentari atau menghapus semua garis antara itu dan</virtualhost>
. - Save
httpd-ssl.conf
dan keluar dari editor teks. -
Selanjutnya, buka
httpd-vhosts.conf
untuk mengedit:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Buat entri VirtualHost untuk situs yang ingin Anda lindungi (gunakan nilai aktual untuk situs web dan server Anda daripada placeholder yang ditunjukkan di sini), lalu simpan file dan keluar dari editor teks.
DocumentRoot "/PATH/TO/WEBSITE" Nama Server SERVERNAME SSLEngine di SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.rocketcdn.me/private/etc /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Periksa konfigurasi Apache Anda dengan perintah berikut:
$sudo apachectl configtest
-
Jika semuanya baik-baik saja, mulai ulang Apache:
$ sudo apachectl mulai ulang
-
Jika semuanya berjalan dengan benar, Anda sudah selesai! Anda harus dapat menavigasi ke situs web HTTPS Anda di browser web.