Wie installiere ich ein Root-Zertifikat?


223

Kann mir jemand ein gutes Tutorial zur Installation eines Root-Zertifikats auf Ubuntu 10 oder 11 zeigen?

Ich habe eine .crtAkte bekommen. Ich nehme an, dass die Notwendigkeit , ein Verzeichnis zu erstellen /usr/share/ca-certificates/newdomain.orgund legen Sie die .crt in diesem Verzeichnis. Darüber hinaus bin ich mir nicht sicher, wie ich vorgehen soll.


19
Wenn hier jemand mit einer Cer-Datei anstelle einer CRT-Datei landet, ist dies dasselbe (nur mit einer anderen Erweiterung). Sie sollten in der Lage sein, diesen Antworten zu folgen und nur den Dateinamen zu ersetzen.
Oli

Übrigens: Informationen zum bequemen Abrufen von CA-Zertifikaten über die Befehlszeile finden Sie hier unter Serverfehler.
Frank Nocke

Antworten:


298

Installieren eines Root- / CA-Zertifikats

Führen Sie die foo.crtfolgenden Schritte aus, um eine CA-Zertifikatdatei unter Ubuntu zu installieren:

  1. Erstellen Sie ein Verzeichnis für zusätzliche CA-Zertifikate in /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Kopieren Sie die CA- .crtDatei in dieses Verzeichnis:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Lassen Sie Ubuntu das Add .crtDateipfad in Bezug auf /usr/share/ca-certificateszu /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Um dies nicht interaktiv zu tun, führen Sie Folgendes aus:

    sudo update-ca-certificates
    

Im Falle einer .pemDatei unter Ubuntu muss diese zuerst in eine .crtDatei konvertiert werden:

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

54
Wie wäre es mit der Verwendung von /usr/local/share/ca-certificates(lokal!) Anstelle eines von der Systempaketverwaltung verwalteten Verzeichnisses?
Gertvdijk

6
Beachten Sie, dass Firefox (und möglicherweise eine andere Software) keine systemweiten Zertifikate verwendet, sondern über einen eigenen Zertifikatspeicher verfügt: askubuntu.com/a/248326/79344 .
Amir Ali Akbari

12
Beachten Sie, dass die Datei muss im PEM - Format sein und „.crt“ Erweiterung hat.
Anton

2
sudo dpkg-reconfigure ca-certificatesDanke, der andere sudo update-ca-certificates --freshhat am 16.10 nicht funktioniert.
Antivirtel

7
Der Befehl openssl x509 -in foo.pem -inform PEM -out foo.crtkopiert eine PEM-Datei in eine PEM-Datei. Dies kann einfacher durch Umbenennen erfolgen.
Marian

190

Wenn Sie eine CA-Zertifikatdatei 'foo.crt' haben, führen Sie die folgenden Schritte aus, um sie unter Ubuntu zu installieren:

Kopieren Sie zunächst Ihre Zertifizierungsstelle in das Verzeichnis /usr/local/share/ca-certificates/

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

Aktualisieren Sie anschließend den CA-Speicher

sudo update-ca-certificates

Das ist alles. Sie sollten diese Ausgabe erhalten:

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.

Zum Bearbeiten ist keine Datei erforderlich. Der Link zu Ihrer Zertifizierungsstelle wird automatisch erstellt.

Bitte beachten Sie, dass die Dateinamen des Zertifikats auf enden müssen .crt, da das update-ca-certificatesSkript sie sonst nicht aufnimmt.

Dieser Vorgang funktioniert auch in neueren Versionen: Handbücher .


1
Dies scheint nicht zu funktionieren in Trusty Tahr 14.04
Mcantsin

25
Beachten Sie, dass dies im Gegensatz zum Hinzufügen von / usr / share / ca-Zertifikaten nur funktioniert, wenn sie sich direkt in / usr / local / share / ca-Zertifikaten und nicht in einem Unterverzeichnis befinden. +1 für die Verwendung des lokalen Ordners anstelle des Systemordners!
Toby J

2
Dies ist in README.Debian dokumentiert .
Pevik

1
@ Sparky1, Dies sollte die akzeptierte Antwort sein.
Drew Chapin

1
@FranklinYu danke :) Debian ist von Alioth zu Salsa gewechselt , dies würde auch funktionieren: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , aber sources.debian.org ist besser.
Pevik

7

Installieren Sie eine Zertifizierungsstelle unter Ubuntu

Ich habe dies auf Ubuntu 14.04 getestet.

Hier ist meine Lösung, ich habe lange gesucht und gesucht, um herauszufinden, wie dies funktioniert.

  1. Extrahieren Sie die .cer aus dem Browser. Ich habe IE 11 verwendet.
    • Einstellungen -> Internetoptionen -> Zwischenzertifizierungsstellen
    • Wählen certutil -config - -pingSie die zu exportierende Zertifizierungsstelle aus ( zeigt die von Ihnen verwendeten Zertifizierungsstellen an , wenn Sie sich hinter einem Unternehmensproxy befinden).
    • Exportieren -> Wählen Sie das gewünschte Format aus: DER Encoded .cer
  2. Holen Sie sich die .cer-Dateien auf Ubuntu irgendwie
  3. In .crt konvertieren openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Erstelle ein zusätzliches Verzeichnis sudo mkdir /usr/share/ca-certificates/extra
  5. Zertifikate kopieren über sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Wenn nicht, dann musst du tun, was ich getan habe sudo nano /etc/ca-certificates.conf
  8. Scrollen Sie nach unten und suchen Sie Ihren .cer und entfernen Sie das !vor dem Dateinamen stehende (update-ca-certificates doc) - wenn Sie Ihr Zertifikat nicht gefunden habendpkg-reconfigure ca-certificates
  9. Lauf sudo update-ca-certificates
  10. Möglicherweise müssen Sie den Zertifizierungsstellen von Firefox, Chrome usw. individuell vertrauen. Ich brauchte sie, um mit Docker zu arbeiten. Nach diesen Schritten funktionierte sie also mit Docker.

1
funktioniert das im 16.04?
Endolith

@endolith arbeitete für mich am 16.04.
Shubham

4

Andere Antworten funktionierten bei mir mit Ubuntu 18.04 nicht. Hängen Sie das Zertifikat cert /etc/ssl/certs/ca-certificates.crtmit dem folgenden Befehl an:

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

1
2 Stunden lang mit Importbefehlen rumgespielt, bevor ich diese gefunden habe. Perfekt!
Beirtipol

Der Befehl ist falsch, das letzte sfehlt: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Danke für diese Lösung.
SommerEngineering

Hinweis: Dies ist die vorübergehende Lösung, da das hinzugefügte Zertifikat nach der Ausführung entfernt wird update-ca-certificates.
Kenorb

3

Halten Sie das (Root / CA) -Zertifikat auf einem Webserver bereit, der auf Wunsch lokal in Ihrem Netzwerk verfügbar ist.

  • Navigieren Sie mit Firefox dazu.
  • Öffnen Sie das Zertifikat und weisen Sie Firefox an, es als Ausnahme hinzuzufügen.
  • Firefox fragt Sie, ob Sie diesem Zertifikat für die Identifizierung von Websites, für E-Mail-Benutzer oder für Softwarehersteller vertrauen möchten.
  • Genießen!

Update: Es muss überprüft werden, ob dies unter Ubuntu 11 funktioniert. Ich habe festgestellt, dass ich dies gerade unter Ubuntu 12.04 LTS getan habe.


5
Hat Firefox keinen eigenen Zertifikatscontainer? Wenn man ein Zertifikat auf diese Weise hinzufügen würde, könnte es doch nur Firefox verwenden, oder?
Aiyion.Prime

Das funktioniert überhaupt nicht, Sie müssen es immer noch zum globalen cert-Container des Betriebssystems hinzufügen, sonst befindet es sich nur im Firefox-Container.
arc_lupus

1

Von hier :

Zertifikat installieren

Sie können die Schlüsseldatei example.key und die Zertifikatdatei example.crt oder die von Ihrer Zertifizierungsstelle ausgestellte Zertifikatdatei installieren, indem Sie an einer Terminal-Eingabeaufforderung die folgenden Befehle ausführen:

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

Konfigurieren Sie nun einfach alle Anwendungen mit der Möglichkeit, Kryptografie mit öffentlichem Schlüssel zu verwenden, um die Zertifikats- und Schlüsseldateien zu verwenden. Beispielsweise kann Apache HTTPS, Dovecot IMAPS und POP3S usw. bereitstellen.


Sollte genauer gelesen haben ... Es sieht so aus, als wäre das nichts für Stammzertifikate. Diese Seite, auf die ich verlinkt habe, enthält möglicherweise nützliche Informationen zu Stammzertifikaten.
jat255

1
Ich habe keinen öffentlichen und keinen privaten Schlüssel, sondern nur eine .crt-Datei. Leider scheinen diese Anweisungen nicht zuzutreffen.
Sparky1

0

Das Hinzufügen eines Stammzertifizierungsstellenzertifikats in FireFox ist heutzutage sehr einfach. Öffnen Sie einfach die Einstellungen, gehen Sie zu "Datenschutz und Sicherheit", scrollen Sie zu "Zertifikate" und klicken Sie auf "Zertifikate anzeigen ...". Hier können Sie auf "Zertifikat importieren" klicken. Zeigen Sie auf Ihre Stammzertifizierungsstelle (.pem) und klicken Sie auf OK. Das war's Leute.


0

Hier sind die einfachen Schritte:

  1. Installieren Sie CA-Zertifikate, damit SSL-basierte Anwendungen die Authentizität von SSL-Verbindungen überprüfen können:

    sudo apt-get install ca-certificates
    
  2. Kopieren Sie die Zertifikatsdatei ( crtoder.cer ) in einen /usr/local/share/ca-certificates/Ordner, zB:

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

    Informationen zur PEM-Datei finden Sie unter: Konvertieren von .pem in .crt und .key .

    Wenn Sie einen Charles-Proxy verwenden, kann der folgende Befehl optional ausgeführt werden:

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

    sudo update-ca-certificates
    

    Der Befehl aktualisiert das /etc/ssl/certsVerzeichnis, um SSL-Zertifikate zu ca-certificates.crtspeichern, und generiert eine Datei (eine verkettete Einzeldateiliste mit Zertifikaten).

    Hinweis: Fügen Sie Zertifikate nicht manuell hinzu (wie hier vorgeschlagen ), da sie nicht dauerhaft sind und entfernt werden.

Hinweis: Wenn Sie als ausführen root, können Sie sudodie oben genannten Befehle löschen.


0

Klärung zwischen update-ca-certificatesund dpkg-reconfigure ca-certificatesund warum einer funktioniert und der andere nicht !!

update-ca-certificatesoder sudo update-ca-certificates funktioniert nur, wenn /etc/ca-certificates.conf es aktualisiert wurde.

/etc/ca-certificate.conf wird nur aktualisiert, wenn Sie ausgeführt haben, dpkg-reconfigure ca-certificates wodurch die Zertifikatsnamen aktualisiert werden, in die importiert werden soll/etc/ca-certificates.conf

Dies ist in der Kopfzeile der /etc/ca-certificates.confDatei angegeben:

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

Wie Sie das Format in sehen können, /etc/ca-certificates.confist<folder name>/<.crt name>

Um zu verwenden update-ca-certificatesoder können sudo update-ca-certificatesSie folgendermaßen vorgehen, um eine CRT-Datei zu importieren:

  1. Erstellen Sie ein Verzeichnis für zusätzliche CA-Zertifikate in / usr / share / ca-certificates:

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

  2. Kopieren Sie die CRT-Datei in dieses Verzeichnis:

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

  3. Hänge eine Zeile an /etc/ca-certificates.confmit <folder name>/<.crt name>:

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

  4. Aktualisieren Sie Zertifikate nicht interaktiv mit sudo update-ca-Zertifikaten

    sudo update-ca-certificates

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

Habe Spaß!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.