Saya perlu menyiapkan server Apache 2 dengan SSL.
Saya memiliki file * .key saya, tetapi semua dokumentasi yang saya temukan online, file * .crt ditentukan, dan CA saya hanya memberi saya file * .cer.
Apakah file * .cer sama dengan * .crt? Jika tidak, bagaimana cara mengubah CER ke format CRT?
CER
danCRT
ekstensi tidak ada artinya. Vendor PKI yang berbeda menggunakan ekstensi yang berbeda untuk hal yang sama. Jika file tersebut biner, maka mungkin ASN.1 / DER dikodekan. Jika file tersebut dapat dibaca manusia-----BEGIN CERTIFICATE-----
, maka PEM dikodekan. Apa yang Anda miliki (DER atau PEM), dan apa yang Anda butuhkan (DER atau PEM)?Jawaban:
Ekstensi file untuk sertifikat kriptografi sebenarnya tidak terstandarisasi seperti yang Anda harapkan. Windows secara default memperlakukan
.crt
file mengklik ganda sebagai permintaan untuk mengimpor sertifikat ke penyimpanan Sertifikat Root Windows, tetapi memperlakukan.cer
file sebagai permintaan hanya untuk melihat sertifikat. Jadi, mereka berbeda dalam arti bahwa Windows memiliki beberapa arti berbeda yang melekat untuk apa yang terjadi ketika Anda mengklik dua kali setiap jenis file.Tetapi cara Windows menanganinya saat Anda mengklik dua kali adalah satu-satunya perbedaan di antara keduanya. Kedua ekstensi hanya menyatakan bahwa ekstensi tersebut berisi sertifikat publik. Anda dapat mengganti nama file sertifikat untuk menggunakan satu ekstensi menggantikan yang lain di file sistem atau konfigurasi apa pun yang pernah saya lihat. Dan pada platform non-Windows (dan bahkan di Windows), orang tidak terlalu berhati-hati tentang ekstensi mana yang mereka gunakan, dan memperlakukan keduanya secara bergantian, karena tidak ada perbedaan di antara keduanya selama konten file benar.
Yang membuat lebih membingungkan adalah bahwa ada dua cara standar untuk menyimpan data sertifikat dalam sebuah file: Satu adalah pengkodean "biner" X.509, dan yang lainnya adalah pengkodean "teks" base64 yang biasanya dimulai dengan "
-----BEGIN CERTIFICATE-----
". Ini menyandikan data yang sama tetapi dengan cara yang berbeda. Sebagian besar sistem menerima kedua format tersebut, tetapi, jika perlu, Anda dapat mengonversi satu format ke format lainnya melalui openssl atau alat lainnya. Pengkodean dalam file sertifikat benar-benar independen dari ekstensi mana yang diberikan seseorang pada file tersebut.sumber
Menurut dokumentasi mod_ssl :
File sertifikat harus file Sertifikat X.509 berenkode PEM:
sumber
zscaler
, berjalanvagrant
diwin
(vbox
homestead
), dengan menginstal sertifikat akar tepercaya kami ke dalam kotak gelandangan? Saya memilikinyascp
, kemudian menggunakan konversi Anda dan menghubungkannya dengan symlink ke/etc/ssl/certs
dan juga menyalin isinya ke dalamca-certificates.crt
file sebelum melakukan reprovisioning, dan masih mendapatkangoogle-recaptcha
tls
ssl
kesalahan padafile_get_contents
kotak dev.Pada dasarnya ada dua jenis pengkodean sertifikat CER, DER dan Base64. Ketika tipe DER mengembalikan sertifikat pemuatan kesalahan (rutin pengkodean asn1), coba PEM dan itu akan bekerja.
openssl x509 -inform DER -in certificate.cer -out certificate.crt
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
sumber
Saya berasumsi bahwa Anda memiliki file .cer yang berisi data sertifikat yang dikodekan PKCS # 7 dan Anda ingin mengubahnya menjadi data sertifikat yang dikodekan PEM (biasanya file .crt atau .pem). Misalnya, file .cer yang berisi data yang dikodekan PKCS # 7 terlihat seperti ini:
Data sertifikat PEM terlihat seperti ini:
Ada perintah OpenSSL yang akan mengonversi file .cer (dengan data PKCS # 7) ke data PEM yang mungkin Anda harapkan (
BEGIN CERTIFICATE
blok pada contoh di atas). Anda dapat memaksa data PKCS # 7 ke dalam format PEM dengan perintah ini pada file yang akan kami sebut certfile.cer:openssl pkcs7 -text -in certfile.cer -print_certs -outform PEM -out certfile.pem
Perhatikan bahwa file .cer atau .pem mungkin berisi satu atau lebih sertifikat (mungkin seluruh rantai sertifikat).
sumber
CER adalah sertifikat X.509 dalam bentuk biner, dikodekan DER .
CRT adalah sertifikat X.509 biner, yang dienkapsulasi dalam pengkodean teks ( base-64 ).
Ini bukan pengkodean yang sama.
sumber
Jawaban untuk pertanyaan bagaimana mengonversi file .cer menjadi file .crt (mereka dikodekan secara berbeda!) Adalah:
sumber
openssl x509 -inform der -in certificate.cer -out certificate.pem
unable to load PKCS7 object
Saya menggunakan perintah:
openssl x509 -inform PEM -in certificate.cer -out certificate.crt
Tetapi CER adalah sertifikat X.509 dalam bentuk biner, dikodekan DER. CRT adalah sertifikat X.509 biner, yang dienkapsulasi dalam pengkodean teks (base-64).
Oleh karena itu, Anda mungkin harus menggunakan:
openssl x509 -inform DER -in certificate.cer -out certificate.crt
Dan kemudian untuk mengimpor sertifikat Anda:
Salin CA Anda ke dir:
/usr/local/share/ca-certificates/
Gunakan perintah:
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
Perbarui penyimpanan CA:
sudo update-ca-certificates
sumber
Jika file cer Anda memiliki format biner, Anda harus mengubahnya dengan
sumber
File .cer dan .crt harus dapat dipertukarkan sejauh mengimpornya ke dalam keystore.
Lihat konten file .cer. Hapus apa pun sebelum
-----BEGIN CERTIFICATE-----
garis dan sesudah-----END CERTIFICATE-----
garis. Anda akan ditinggalkan dengan baris BEGIN / END dengan banyak hal yang dikodekan Base64 di antara mereka.Kemudian impor saja ke keyfile Anda menggunakan keytool.
sumber
Kerjakan saja
sumber