GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghasilkan Kunci SSL, CSR, dan Sertifikat yang Ditandatangani Sendiri Untuk Apache

Jika Anda ingin mengonversi situs web Anda dari HTTP ke HTTPS, Anda perlu mendapatkan sertifikat SSL dari organisasi yang valid seperti Verisign atau Thawte. Anda juga dapat membuat sertifikat SSL yang ditandatangani sendiri untuk tujuan pengujian.

Pada artikel ini, mari kita tinjau bagaimana cara menghasilkan file kunci pribadi (server.key), file permintaan penandatanganan sertifikat (server.csr) dan file sertifikat server web (server.crt) yang dapat digunakan di server Apache dengan mod_ssl .

Konvensi Penamaan File CSR dan CRT Kunci,

Saya biasanya suka memberi nama file dengan nama domain URL HTTPS yang akan menggunakan sertifikat ini. Hal ini memudahkan untuk mengidentifikasi dan memelihara.

  • Alih-alih server.key, saya menggunakan www.thegeekstuff.com.key
  • Daripada server.csr, saya menggunakan www.thegeekstuff.com.csr
  • Daripada server.crt, saya menggunakan www.thegeekstuff.com.crt

1. Hasilkan Kunci Pribadi di Server yang Menjalankan Apache + mod_ssl

Pertama, buat kunci pribadi di server Linux yang menjalankan server web Apache menggunakan perintah openssl seperti yang ditunjukkan di bawah ini.

# openssl genrsa -des3 -out www.thegeekstuff.com.key 1024
Generating RSA private key, 1024 bit long modulus
.......................................++++++
...................................................++++++
e is 73547 (0x01001)
Enter pass phrase for www.thegeekstuff.com.key:
Verifying - Enter pass phrase for www.thegeekstuff.com.key:

# ls -ltr www.thegeekstuff.*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key

Kunci pribadi yang dihasilkan terlihat seperti berikut ini.

# cat www.thegeekstuff.com.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,485B3C6371C9916E

ymehJu/RowzrclMcixAyxdbfzQphfUAk9oK9kK2
jadfoiyqthakLKNqw9z1MoaqkPyqeHevUm26no
AJKIETHKJADFS2BGb0n61/Ksk8isp7evLM4+QY
KAQETKjdiahteksMJOjXLq+vf5Ra299fZPON7yr
-----END RSA PRIVATE KEY-----

2. Buat Permintaan Penandatanganan Sertifikat (CSR)

Menggunakan kunci generate di atas, Anda harus membuat file permintaan sertifikat (csr) menggunakan openssl seperti yang ditunjukkan di bawah ini.

# openssl req -new -key www.thegeekstuff.com.key -out www.thegeekstuff.com.csr
Enter pass phrase for www.thegeekstuff.com.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:US
State or Province Name (full name) [Berkshire]:California
Locality Name (eg, city) [Newbury]:Los Angeles
Organization Name (eg, company) [My Company Ltd]:The Geek Stuff
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []: thegeekstuff
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

# ls -ltr www.thegeekstuff.*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key
-rw-r--r-- 1 root root   664 Jun 13 20:35 www.thegeekstuff.com.csr

3. Buat Sertifikat SSL yang Ditandatangani Sendiri

Untuk tujuan pengujian, Anda dapat membuat sertifikat SSL yang ditandatangani sendiri yang berlaku selama 1 tahun menggunakan perintah openssl seperti yang ditunjukkan di bawah ini.

# openssl x509 -req -days 365 -in www.thegeekstuff.com.csr -signkey www.thegeekstuff.com.key -out www.thegeekstuff.com.crt
Signature ok
subject=/C=US/ST=California/L=Los Angeles/O=thegeekstuff/OU=IT/CN=www.thegeekstuff.com
Getting Private key
Enter pass phrase for www.thegeekstuff.com.key:

# ls -l www.thegeekstuff*
-rw-r--r-- 1 root root   963 Jun 13 20:26 www.thegeekstuff.com.key
-rw-r--r-- 1 root root   664 Jun 13 20:35 www.thegeekstuff.com.csr
-rw-r--r-- 1 root root   879 Jun 13 20:43 www.thegeekstuff.com.crt

# cat www.thegeekstuff.com.crt
-----BEGIN CERTIFICATE-----
haidfshoaihsdfAKDJFAISHTEIHkjasdjadf9w0BAQUFADCB
kjadfijadfhWQIOUQERUNcMNasdkjfakljasdBgEFBQcDAQ
kjdghkjhfortoieriqqeurNZXCVMNCMN.MCNaGF3dGUuY29
-----END CERTIFICATE-----


Anda dapat menggunakan metode ini untuk menghasilkan Apache SSL Key, CSR dan file CRT di sebagian besar sistem Linux, Unix termasuk Ubuntu, Debian, CentOS, Fedora dan Red Hat.

4. Dapatkan Sertifikat SSL Uji Coba yang Valid (Opsional)

Alih-alih menandatanganinya sendiri, Anda juga dapat membuat sertifikat SSL uji coba yang valid dari thawte. yaitu Sebelum menghabiskan uang untuk membeli sertifikat, Anda juga bisa mendapatkan sertifikat SSL uji coba 21 hari yang valid dan berfungsi penuh dari Thawte. Setelah sertifikat yang valid ini berfungsi, Anda dapat memutuskan untuk membelinya dari Thawte atau organisasi penandatanganan SSL lainnya.

Langkah ini opsional dan tidak terlalu diperlukan. Untuk tujuan pengujian, Anda selalu dapat menggunakan sertifikat yang ditandatangani sendiri yang dihasilkan dari langkah di atas.

Buka halaman permintaan sertifikat uji coba Thwate dan lakukan hal berikut:

  • Pilih “Sertifikat Server Web SSL (Semua server)” di bawah “pilih sertifikat uji coba Anda”.
  • Jangan centang kotak PKCS #7 di bawah “konfigurasi sertifikat”
  • Salin/Tempel file *.csr yang Anda buat di atas dalam kotak teks di bawah “permintaan penandatanganan sertifikat (CSR)”
  • Klik berikutnya di bagian bawah, yang akan memberi Anda sertifikat uji coba gratis selama 21 hari.


Copy/Paste sertifikat percobaan ke file www.thegeekstuff.com.crt seperti yang ditunjukkan di bawah ini.

# cat www.thegeekstuff.com.crt
-----BEGIN CERTIFICATE-----
haidfshoaihsdfAKDJFAISHTEIHkjasdjadf9w0BAQUFADCB
kjadfijadfhWQIOUQERUNcMNasdkjfakljasdBgEFBQcDAQ
kjdghkjhfortoieriqqeurNZXCVMNCMN.MCNaGF3dGUuY29
-----END CERTIFICATE-----

Linux
  1. Cara Membuat Permintaan Penandatanganan Sertifikat (CSR) di Linux

  2. Keluarkan sertifikat SSL gratis dan CA yang ditandatangani untuk server web dari LetsEncrypt

  3. Cara Membuat Apache 2 Berhenti Meminta Kata Sandi Untuk Sertifikat SSL?

  1. Bagaimana Cara Membuat Kunci CSR dan menginstal Sertifikat SSL dari CWP?

  2. Cara menghasilkan Kunci dan CSR di cPanel untuk Sertifikat SSL Anda

  3. Bagaimana Cara Menghasilkan Permintaan Penandatanganan Sertifikat (CSR) dengan OpenSSL?

  1. Cara Menginstal Sertifikat SSL di Apache untuk CentOS 7

  2. Cara Membuat Permintaan Penandatanganan Sertifikat (CSR) untuk SSL

  3. Cara membuat Sertifikat SSL yang Ditandatangani Sendiri di Ubuntu 18.04