Bagaimana cara saya menginstal sertifikat root?

223

Adakah yang bisa mengarahkan saya ke tutorial yang baik tentang cara menginstal sertifikat root di ubuntu 10 atau 11?

Saya sudah diberi .crtfile. Saya mengumpulkan bahwa perlu membuat direktori di /usr/share/ca-certificates/newdomain.orgdan tempatkan .crt di direktori itu. Di luar itu saya tidak yakin bagaimana untuk melanjutkan.

Sparky1
sumber
19
Jika ada orang yang mendarat di sini dengan file cer bukannya crt, mereka adalah hal yang sama (hanya dengan ekstensi berbeda). Anda harus dapat mengikuti jawaban ini dan hanya mengganti nama file.
Oli
Btw: untuk cara mudah mendapatkan sertifikat CA dari baris perintah, lihat di sini , di serverfault.
Frank Nocke

Jawaban:

298

Memasang root / CA Certificate

Diberikan file sertifikat CA foo.crt, ikuti langkah-langkah ini untuk menginstalnya di Ubuntu:

  1. Buat direktori untuk sertifikat CA tambahan di /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Salin .crtfile CA ke direktori ini:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Biarkan Ubuntu menambahkan jalur .crtfile relatif /usr/share/ca-certificateske /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Untuk melakukan ini secara non-interaktif, jalankan:

    sudo update-ca-certificates
    

Dalam hal .pemfile di Ubuntu, pertama-tama file itu harus dikonversi ke .crtfile:

openssl x509 -in foo.pem -inform PEM -out foo.crt
Bai
sumber
54
Bagaimana kalau menggunakan /usr/local/share/ca-certificates(lokal!) Alih-alih menggunakan paket sistem yang dikelola directoy?
gertvdijk
6
Perhatikan bahwa Firefox (dan mungkin beberapa perangkat lunak lain) tidak menggunakan sertifikat seluruh sistem, tetapi memiliki toko sertifikat sendiri: askubuntu.com/a/248326/79344 .
Amir Ali Akbari
12
Perhatikan bahwa file harus dalam format PEM dan memiliki ekstensi ".crt".
Anton
2
sudo dpkg-reconfigure ca-certificatesTerima kasih, yang lain sudo update-ca-certificates --freshtidak berfungsi pada 16.10.
antivirtel
7
Perintah openssl x509 -in foo.pem -inform PEM -out foo.crtmenyalin file PEM ke file PEM. Ini dapat dilakukan dengan lebih mudah dengan mengganti nama.
Marian
191

Diberikan file sertifikat CA 'foo.crt', ikuti langkah-langkah ini untuk menginstalnya di Ubuntu:

Pertama, salin CA Anda ke dir /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

kemudian, perbarui toko CA

sudo update-ca-certificates

Itu saja. Anda harus mendapatkan hasil ini:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Tidak diperlukan file untuk diedit. Tautan ke CA Anda dibuat secara otomatis.

Harap perhatikan bahwa nama file sertifikat harus diakhiri .crt, jika tidak update-ca-certificatesskrip tidak akan menerimanya.

Prosedur ini juga berfungsi dalam versi yang lebih baru: manual .

Frantisek Boranek
sumber
1
ini tampaknya tidak bekerja dalam kepercayaan 14,04
mcantsin
25
Harap dicatat bahwa, tidak seperti menambahkan ke / usr / share / ca-sertifikat, ini tampaknya hanya berfungsi jika mereka langsung di / usr / local / share / ca-sertifikat dan bukan subdirektori. +1 untuk menggunakan folder lokal, bukan folder sistem!
Toby J
2
Ini didokumentasikan dalam README.Debian .
pevik
1
@ Sparky1, Ini harus menjadi jawaban yang diterima.
Drew Chapin
1
@ FrankrankYu terima kasih :) Debian pindah dari Alioth ke Salsa, ini juga akan berfungsi: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , tetapi sources.debian.org lebih baik.
pevik
7

Instal Otoritas Sertifikat di Ubuntu

Saya telah menguji ini di Ubuntu 14.04.

Inilah solusi saya, saya mencari dan mencari untuk waktu yang lama mencoba mencari cara untuk membuatnya bekerja.

  1. Ekstrak .cer dari browser. Saya menggunakan IE 11.
    • Pengaturan -> Opsi Internet -> Otoritas Sertifikat Menengah
    • Pilih Otoritas Sertifikat yang Anda Ingin Ekspor ( certutil -config - -pingakan menunjukkan kepada Anda yang Anda gunakan jika Anda berada di belakang proxy perusahaan)
    • Ekspor -> Pilih Format yang Ingin Anda Gunakan: DER Dienkripsi .cer
  2. Dapatkan file .cer ke Ubuntu entah bagaimana
  3. Konversikan ke .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Buat direktori tambahan sudo mkdir /usr/share/ca-certificates/extra
  5. Salin sertifikat sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Jika tidak, maka Anda harus melakukan apa yang saya lakukan, pergi ke sudo nano /etc/ca-certificates.conf
  8. Gulir ke bawah dan temukan .cer Anda dan hapus !dari di depan nama file (perbarui-ca-sertifikat doc) - jika Anda tidak menemukan sertifikat Anda berjalandpkg-reconfigure ca-certificates
  9. Lari sudo update-ca-certificates
  10. Anda mungkin perlu mempercayai CA secara individual dari Firefox, Chrome, dll., Saya membutuhkannya untuk bekerja dengan Docker jadi setelah langkah-langkah ini bekerja dengan Docker.
Alex
sumber
1
apakah ini bekerja di 16.04?
endolith
@endolith bekerja untuk saya di 16.04.
Shubham
4

Jawaban lain tidak berfungsi untuk saya dengan Ubuntu 18.04. Tambahkan sertifikat sertifikat untuk /etc/ssl/certs/ca-certificates.crtmenggunakan perintah berikut:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 
Jasmit Tarang
sumber
1
2 jam mengacaukan dengan perintah impor sebelum saya menemukan ini. Sempurna!
beirtipol
Perintah yang salah, final shilang: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Terima kasih atas solusi ini.
Sommer Engineer
Catatan: Ini adalah solusi sementara, karena sertifikat yang ditambahkan akan dihapus setelah berjalan update-ca-certificates.
kenorb
3

Sediakan sertifikat (root / CA) di server web, lokal ke jaringan Anda jika Anda mau.

  • Jelajahi dengan Firefox.
  • Buka sertifikat dan beri tahu Firefox untuk menambahkannya sebagai pengecualian.
  • Firefox akan menanyakan apakah Anda ingin mempercayai sertifikat ini untuk mengidentifikasi situs web, untuk pengguna email atau untuk penerbit perangkat lunak.
  • Nikmati!

Pembaruan: Ini perlu untuk memeriksa apakah ini berfungsi pada Ubuntu 11. Saya menyadari bahwa saya baru saja melakukan ini pada Ubuntu 12.04 LTS.

Ian Green
sumber
5
belum firefox wadah sertifikatnya sendiri? Jika seseorang ingin menambahkan sertifikat dengan cara ini, firefox akan dapat menggunakannya, bukan?
Aiyion.Prime
Itu tidak berfungsi sama sekali, Anda masih harus menambahkannya ke wadah sertifikat global OS, jika tidak hanya akan ada di wadah Firefox.
arc_lupus
1

Dari sini :

Memasang Sertifikat

Anda dapat menginstal file kunci, example.key dan file sertifikat, example.crt, atau file sertifikat yang dikeluarkan oleh CA Anda, dengan menjalankan perintah berikut di terminal prompt:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Sekarang cukup konfigurasikan aplikasi apa saja, dengan kemampuan untuk menggunakan kriptografi kunci publik, untuk menggunakan sertifikat dan file kunci. Misalnya, Apache dapat menyediakan HTTPS, Dovecot dapat menyediakan IMAPS dan POP3S, dll.

jat255
sumber
Seharusnya membaca lebih dekat ... Sepertinya itu bukan untuk sertifikat root. Halaman yang saya tautkan memiliki informasi tentang sertifikat root yang mungkin berguna.
jat255
1
Saya tidak memiliki kunci publik dan kunci pribadi, saya hanya punya .crt jadi sayangnya instruksi tersebut sepertinya tidak berlaku.
Sparky1
0

Untuk menambahkan sertifikat Root CA di FireFox sekarang-a-hari sangat mudah. Cukup buka preferensi, buka "Privasi & Keamanan", gulir ke bawah ke "Sertifikat" dan klik "Lihat Sertifikat ...". Di sini Anda dapat mengklik "Impor Sertifikat". Arahkan ke root CA (.pem) Anda dan OK. Itu semua orang.

pizzamonster
sumber
0

Inilah langkah-langkah sederhana:

  1. Instal sertifikat CA untuk mengizinkan aplikasi berbasis SSL untuk memeriksa keaslian koneksi SSL:

    sudo apt-get install ca-certificates
    
  2. Salin file sertifikat ( crtatau.cer ) ke /usr/local/share/ca-certificates/folder, misalnya:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Untuk file PEM, lihat: Konversi .pem ke .crt dan .key .

    Secara opsional, jika menggunakan proksi Charles, perintah ini dapat berfungsi:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Perbarui sertifikat:

    sudo update-ca-certificates
    

    Perintah akan memperbarui /etc/ssl/certsdirektori untuk menyimpan sertifikat SSL dan menghasilkan ca-certificates.crtfile (daftar file tunggal sertifikat yang disatukan).

    Catatan: Jangan tambahkan sertifikat secara manual (seperti yang disarankan di sini ), karena tidak persisten dan akan dihapus.

Catatan: Jika Anda menjalankan sebagai root, Anda dapat menjatuhkan sudodari perintah di atas.

kenorb
sumber
0

Klarifikasi antara update-ca-certificatesdan dpkg-reconfigure ca-certificatesmengapa satu berfungsi dan yang lainnya tidak !!

update-ca-certificatesatau sudo update-ca-certificates hanya akan berfungsi jika /etc/ca-certificates.conf telah diperbarui.

/etc/ca-certificate.conf hanya diperbarui setelah Anda menjalankan dpkg-reconfigure ca-certificates pembaruan nama sertifikat yang akan diimpor/etc/ca-certificates.conf

Ini dinyatakan di header /etc/ca-certificates.conffile:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Seperti yang Anda lihat, format dalam /etc/ca-certificates.confadalah<folder name>/<.crt name>

Jadi untuk menggunakan update-ca-certificatesatau sudo update-ca-certificatesAnda dapat melakukan hal berikut untuk mengimpor .crt:

  1. Buat direktori untuk sertifikat CA tambahan di / usr / share / ca-sertifikat:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Salin file .crt ke direktori ini:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Tambahkan baris untuk /etc/ca-certificates.confmenggunakan <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Perbarui sertifikat non-interaktif dengan sudo perbarui-ca-sertifikat

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Selamat bersenang-senang!

mahatmanich
sumber