Bir kök sertifikayı nasıl kurarım?


223

Herhangi biri ubuntu 10 veya 11’e bir kök sertifika yükleme konusunda iyi bir rehbere işaret edebilir mi?

Bana bir .crtdosya verildi. Bir dizin oluşturmak /usr/share/ca-certificates/newdomain.orgve .crt bu dizine yerleştirmek için bu ihtiyacı topladım. Bunun ötesinde nasıl ilerleyeceğime emin değilim.


19
Buraya crt yerine bir cer dosyasıyla gelen kişiler aynı şeydir (sadece farklı bir uzantıya sahip). Bu cevapları takip edebilmeli ve dosya adını değiştirmelisiniz.
Oli

Yanıtlar:


298

Kök / CA Sertifikası Yükleme

Bir CA sertifika dosyası verildiğinde foo.crt, Ubuntu’ya yüklemek için aşağıdaki adımları izleyin:

  1. Ekstra CA sertifikaları için bir dizin oluşturun /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. CA .crtdosyasını bu dizine kopyalayın :

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Ubuntu ekleyelim .crtiçin dosyanın yolu göreli /usr/share/ca-certificatesiçin /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Bunu etkileşimli olmayan bir şekilde yapmak için, şunu çalıştırın:

    sudo update-ca-certificates
    

.pemUbuntu'da bir dosya olması durumunda, öncelikle bir dosyaya dönüştürülmelidir .crt:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Nasıl kullanma hakkında /usr/local/share/ca-certificates(yerel!) Yerine bir sistem paket yönetimi kullanmanın dizinle yönetilen?
gertvdijk

6
Firefox'un (ve belki de başka bir yazılımın) sistem genelinde sertifikalar kullanmadığını, ancak kendi sertifika deposunun bulunduğunu unutmayın: askubuntu.com/a/248326/79344 .
Amir Ali Akbari

12
Dosyanın PEM biçiminde olması ve ".crt" uzantılı olması gerektiğini unutmayın .
Anton

2
sudo dpkg-reconfigure ca-certificatesSağol, diğeri sudo update-ca-certificates --fresh16.10'da çalışmadı.
antivirtel

7
Komut, openssl x509 -in foo.pem -inform PEM -out foo.crtbir PEM dosyasını bir PEM dosyasına kopyalar. Bu, yeniden adlandırılarak daha kolay yapılabilir.
Marian,

190

Bir CA sertifika dosyası 'foo.crt' verildiğinde, Ubuntu’ya yüklemek için şu adımları izleyin:

Öncelikle, CA'nızı dizine kopyalayın. /usr/local/share/ca-certificates/

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

daha sonra, CA deposunu güncelle

sudo update-ca-certificates

Bu kadar. Bu çıktıyı almalısınız:

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.

Düzenlemek için dosya gerekmez. CA'nıza bağlantı otomatik olarak oluşturulur.

Sertifika dosya adlarının sona ermesi gerektiğini lütfen unutmayın .crt, aksi halde update-ca-certificateskomut dosyası bunları alamaz.

Bu prosedür daha yeni sürümlerde de çalışır: kılavuzlar .



25
Unutmayın, / usr / share / ca-sertifikalarına eklemekten farklı olarak, bunun yalnızca / usr / local / share / ca-sertifikalarında ve bir alt dizinde olmadıklarında işe yaradığını görün. Sistem klasörü yerine yerel klasörü kullanmak için +1!
Toby J

2
Bu README.Debian'da belgelenmiştir .
pevik

1
@ Sparky1, Bu kabul edilen cevap olmalı.
Drew Chapin

1
@ FranklinYu teşekkürler :) Debian Alioth'tan Salsa'ya taşındı, bu da işe yarayacak: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , ancak sources.debian.org daha iyi.
pevik

7

Ubuntu’ya Sertifika Yetkilisi Yükleyin

Bunu Ubuntu 14.04'te test ettim.

İşte benim çözümüm, bunun nasıl işe yaradığını bulmaya çalışırken uzun bir süre aradım ve aradım.

  1. .Cer'i tarayıcıdan çıkartın. IE 11 kullandım.
    • Ayarlar -> İnternet Seçenekleri -> Orta Sertifika Yetkilileri
    • Vermek İstediğiniz Sertifika Yetkilisini Seçin ( certutil -config - -pingşirket vekili arkasındaysanız, kullandıklarınızı gösterir)
    • Dışa Aktar -> Kullanmak İstediğiniz Biçimi Seçin: DER Encoded .cer
  2. .Cer dosyalarını bir şekilde Ubuntu'ya götür
  3. .Crt biçimine dönüştür openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Ekstra dizin yap sudo mkdir /usr/share/ca-certificates/extra
  5. Sertifikaları üzerine kopyala sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Olmazsa, o zaman yaptığım şeyi yapmak zorundasın. sudo nano /etc/ca-certificates.conf
  8. Aşağı kaydırın ve .cer bulup çıkarmak !dosya adının önünde gelen (update-ca-sertifikalar doc) - Eğer sertifika çalıştırmak bulamazlarsadpkg-reconfigure ca-certificates
  9. Çalıştırmak sudo update-ca-certificates
  10. CA'lara Firefox, Chrome vb.

1
bu 16.04'te çalışıyor mu?
Endolit

@endolith 16.04'de benim için çalıştı.
Shubham

4

Diğer cevaplar Ubuntu 18.04 ile benim için işe yaramadı. /etc/ssl/certs/ca-certificates.crtAşağıdaki komutu kullanarak sertifika sertifikasını ekleyin :

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
Bunu bulmadan önce alma komutlarıyla 2 saat uğraşmak. Mükemmel!
beirtipol

Komut finali yanlıştır seksik: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Bu çözüm için teşekkürler.
SommerEngineering

Not: Bu, eklenen sertifika çalıştırıldıktan sonra kaldırılacağından geçici çözümdür update-ca-certificates.
kenorb

3

İsterseniz (root / CA) sertifikasını bir ağ sunucusunda, ağınızda yerel olarak bulundurun.

  • Firefox ile göz atın.
  • Sertifikayı aç ve Firefox'a istisna olarak eklemesini söyle.
  • Firefox, web sitelerini tanımlamak, e-posta kullanıcıları veya yazılım yayıncıları için bu sertifikaya güvenmek isteyip istemediğinizi soracaktır.
  • Keyfini çıkarın!

Güncelleme: Bunun Ubuntu 11'de çalışıp çalışmadığını kontrol etmek gerekecektir. Bunu sadece Ubuntu 12.04 LTS'de yaptığımı anladım.


5
firefox kendi sertifika konteyneri değil mi? Biri bu şekilde bir sertifika ekleseydi, sadece firefox onu kullanabilirdi, değil mi?
Aiyion.Prime

Bu hiç işe yaramıyor, hala işletim sisteminin küresel sertifika konteynerine eklemeniz gerekiyor, aksi takdirde yalnızca Firefox konteynerinde olacak.
arc_lupus

1

Gönderen burada :

Sertifikayı Kurmak

Terminal isteminde aşağıdaki komutları çalıştırarak, example.key anahtar dosyasını ve example.crt sertifika dosyasını ya da CA'nız tarafından verilen sertifika dosyasını yükleyebilirsiniz:

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

Şimdi basitçe herhangi bir uygulamayı, sertifika ve anahtar dosyaları kullanmak için açık anahtarlı şifreleme kullanma yeteneği ile yapılandırın. Örneğin, Apache HTTPS sağlayabilir, Dovecot IMAPS ve POP3S sağlayabilir.


Daha yakından okumalıydım ... Kök sertifikaları için değil gibi görünüyor. Bağlandığım sayfa, kök sertifikalarla ilgili faydalı olabilecek bilgilere sahip.
jat255

1
Genel anahtarım ve özel anahtarım yok, sadece bir .crt'im var, bu yüzden ne yazık ki bu talimat geçerli görünmüyor.
Sparky1

0

FireFox’a Kök CA sertifikası eklemek günümüzde artık çok kolay. Sadece tercihleri ​​açın, "Gizlilik ve Güvenlik" e gidin, "Sertifikalar" a gidin ve "Sertifikaları Göster ..." i tıklayın. Burada "Sertifika Al" seçeneğine tıklayabilirsiniz. Kök CA'nıza (.pem) ve Tamam'a gelin. Hepsi bu kadar millet.


0

İşte basit adımlar:

  1. SSL tabanlı uygulamaların SSL bağlantılarının doğruluğunu kontrol etmesine izin vermek için CA sertifikaları yükleyin:

    sudo apt-get install ca-certificates
    
  2. Sertifika dosyasını ( crtveya.cer ) /usr/local/share/ca-certificates/klasöre kopyalayın, örneğin:

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

    PEM dosyası için, bakınız: .pem dosyasını .crt ve .key dosyasına dönüştürün .

    İsteğe bağlı olarak, eğer Charles proxy kullanıyorsanız, bu komut işe yarayabilir:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Sertifikaları güncelle:

    sudo update-ca-certificates
    

    Komut, /etc/ssl/certsSSL sertifikalarını tutmak için dizini günceller ve ca-certificates.crtdosya oluşturur (birleştirilmiş bir tek dosya sertifika listesi).

    Not: Kalıcı olmadığından ve kaldırılacağından sertifikaları el ile eklemeyin ( burada önerildiği gibi ).

Not: Farklı olarak çalışıyorsanız , yukarıdaki komutlardan rootdüşebilirsiniz sudo.


0

Arasındaki açıklık getirilmesi update-ca-certificatesve dpkg-reconfigure ca-certificatestek işleri ve diğer yapmaz ve neden !!

update-ca-certificatesveya sudo update-ca-certificates yalnızca /etc/ca-certificates.conf güncellendi ise çalışacaktır .

/etc/ca-certificate.conf dpkg-reconfigure ca-certificatesiçe aktarılacak sertifika adlarını güncelleyen , yalnızca bir kez çalıştırdığınızda güncellenir/etc/ca-certificates.conf

Bu /etc/ca-certificates.confdosyanın başlığında belirtilmiştir :

# 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
...

Gördüğünüz gibi, biçim içinde /etc/ca-certificates.confolduğu<folder name>/<.crt name>

Yani kullanmak update-ca-certificatesveya sudo update-ca-certificatesbir .crt almak için aşağıdakileri yapabilirsiniz:

  1. / Usr / share / ca-sertifikalarında fazladan CA sertifikaları için bir dizin oluşturun:

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

  2. .Crt dosyasını bu dizine kopyalayın:

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

  3. /etc/ca-certificates.confKullanmak için bir satır ekleyin <folder name>/<.crt name>:

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

  4. Sudo güncelleme-ca-sertifikaları ile etkileşimli olmayan cerları güncelleme

    sudo update-ca-certificates

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

İyi eğlenceler!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.