Apa itu file .crt dan .key dan bagaimana cara menghasilkannya?

60

Saya sudah memiliki konfigurasi berikut:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

tapi saya tidak tahu cara menghasilkan .crtdan .keyfile.

Mohammad Ali Akbari
sumber

Jawaban:

65

file crt dan kunci mewakili kedua bagian dari sertifikat, kunci menjadi kunci pribadi untuk sertifikat dan crt menjadi sertifikat yang ditandatangani.

Ini hanya salah satu cara untuk menghasilkan sertifikat, cara lain akan memiliki keduanya di dalam file pem atau yang lain dalam wadah p12.

Anda memiliki beberapa cara untuk menghasilkan file-file itu, jika Anda ingin menandatangani sendiri sertifikatnya, Anda bisa mengeluarkan perintah ini

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Perhatikan bahwa dengan sertifikat yang ditandatangani sendiri, peramban Anda akan memperingatkan Anda bahwa sertifikat itu tidak "dipercaya" karena belum ditandatangani oleh otoritas sertifikasi yang ada dalam daftar kepercayaan peramban Anda.

Dari sana dan seterusnya Anda dapat menghasilkan rantai kepercayaan Anda sendiri dengan membuat CA Anda atau membeli sertifikat dari perusahaan seperti Verisign atau Thawte.

lynxman
sumber
setelah menjalankan "openssl genrsa 1024> host.key" Saya mendapatkan ini di terminal: "e adalah 65537 (0x10001)" apakah ini sebuah kesalahan?
Mohammad Ali Akbari
1
Ya, ini berarti openssl tidak dapat menulis seed acak ke file default yang digunakannya yang didefinisikan oleh openssl.cnf, secara default di CentOS / RHEL file ini ada di /etc/pki/tls/openssl.cnf. Coba jalankan perintah yang sama dengan root dalam kasus ini dan lihat bagaimana hasilnya.
lynxman
Saya mencobanya sebagai root, tapi saya mendapat "e is 65537 (0x10001)" lagi
Mohammad Ali Akbari
1
Apakah Anda memiliki SELinux diaktifkan pada mesin Anda? Periksa / var / log / pesan untuk melihat mengapa openssl tidak dapat menulis file
lynxman
4
letsencrypt.org adalah penyedia ssl gratis. Lihatlah itu daripada membayar banyak uang kepada perusahaan-perusahaan itu.
Kaan
6

Ini adalah bagian publik (.crt) dan pribadi (.key) dari sertifikat SSL. Lihat pertanyaan ini untuk sejumlah besar informasi yang relevan, misalnya jika Anda ingin membuat sertifikat sendiri, atau membelinya.

mad_vs
sumber
Pertanyaan dasar tetapi - saya berasumsi saya harus menyalin file .key ke ~/.sshfolder saya , ketika saya mengunggah file CSR saya ke penyedia ssl saya?
Qasim
1
@Qasim SSL file tidak ada hubungannya dengan SSH (yang merupakan folder .ssh milik).
mad_vs