centos:ca-trust

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:ca-trust [09.02.2015 20:43. ] – [Import-Beispiel am CAcert Root-Zertifikat] djangocentos:ca-trust [23.02.2015 08:25. ] django
Zeile 1: Zeile 1:
 ====== Vertrauensmodelle in Public-Key-Infrastrukturen ====== ====== Vertrauensmodelle in Public-Key-Infrastrukturen ======
-<WRAP center round todo 80%> +Bei der asymmetrischen Verschlüsselung, wie sie bei SSL/TLS gesicherter Kommunikation zum Einsatz kommt, benötigt der sendende Kommunikationspartner den öffentlichen Schlüssel (public key) des Empfängers. Bei dieser Kommunikation ist es äusserst wichtig, dass die Echtheit des Schlüssels gewährleistet, sprich auch überprüft werden kann. Diese Überprüfung erfolgt mit digitalen Zertifikaten, die die Echtheit eines öffentlichen Schlüssels sowie den Geltungsbereich und die Anwendungsbereich für das Zertifikat bestätigen. 
-**Aktuell in der Bearbeitung!** +
-</WRAP> +
- +
-Bei der asymetrischen Verschlüsselung, wie sie bei SSL/TLS gesicherter Kommunikation zum Einsatz kommt, benötigt der sendende Kommunikationspartner den öffentlichen Schlüssel (public key) des Empfängers. Bei dieser Kommunikation ist es äußerst wichtig, dass die Echtheit des Schlüssels gewährleistet, sprich auch überprüft werden kann. Diese Überprüfung erfolgt mit digitalen Zertifikaten, die die Echtheit eines öffentlichen Schlüssels sowie den Geltungsbereich und die Anwendungsbereich für das Zertifikat bestätigen. +
  
 {{ :centos:tls-003.png?direct&777 |BILD: schematische Darstellung des Vertrauensverhältnis beim PKI Modell}} {{ :centos:tls-003.png?direct&777 |BILD: schematische Darstellung des Vertrauensverhältnis beim PKI Modell}}
Zeile 14: Zeile 10:
 {{ :centos:tls-004.png?direct&777 |BILD: schematische Darstellung eines X.509 Zertifikates}} {{ :centos:tls-004.png?direct&777 |BILD: schematische Darstellung eines X.509 Zertifikates}}
  
-Ohne dem übergeordneten **Root Zertifikat** kann zwar verschlüsselt kommuniziert werden, wir wissen aber dabei nicht, ob der zur Verschlüsselung zugrundeliegender Schlüsselmaterials valide ist und ob der Gesprächspartner derjenige ist, den er vorzugeben scheint.+Ohne dem übergeordneten **Root Zertifikat** kann zwar verschlüsselt kommuniziert werden, wir wissen aber dabei nicht, ob der zur Verschlüsselung zugrunde liegender Schlüsselmaterials valide ist und ob der Gesprächspartner derjenige ist, den er vorzugeben scheint.
  
-<WRAP center round important 80%>+<WRAP center round important 85%>
  
 Unserem Kommunikationssystem, egal ob das nun ein WEB-Browser oder ein Web- oder Mailserver ist, müssen wir nun also noch zwei Dinge beibringen.  Unserem Kommunikationssystem, egal ob das nun ein WEB-Browser oder ein Web- oder Mailserver ist, müssen wir nun also noch zwei Dinge beibringen. 
Zeile 428: Zeile 424:
 </WRAP> </WRAP>
  
-Da **__beide Fingerprints__** gleich sind, können wir mit dem eigentlichem Importvorgang fortfahren! +Da **__beide Fingerprints__** gleich sind, können holen wir uns noch das zweite CAcert Class3 Zertifikat und verfahren dabei wie beim ersten Zertifikat. Ist Fingerprint Vergleich beim Class 3 Zertifikat auch gleich, können wir mit dem eigentlichem Importvorgang der beiden Zertifikate fortfahren! 
  
 </WRAP> </WRAP>
-Zum Importieren des CAcert-Root-Zertifikates benutzen wir nun den Befehl **update-ca-trust**.+Zum Importieren der CAcert-Root-Zertifikate benutzen wir nun den Befehl **update-ca-trust**.
    # update-ca-trust    # update-ca-trust
  
-Ist der Importvorgang abgeschlossen, findet sich am Ende der Datei //**/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem**// das gerade importierte Root-ZertifikatDies können wir auch mit folgendem Befehl überprüfen. +Ist der Importvorgang abgeschlossen, befinden sich in der in der Datei //**/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem**// die gerade importierten Root-Zertifikate
-   # openssl x509 -noout -issuer -in /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem+
  
-   issuer= /O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org+Wollen wir überprüfen, ob die gewünschten Zertifikate auch wirklich in dem erstellten Zertifikats-Bundle enthalten sind, greifen wir auf ein kleines Script zurück. Mit dem folgenden Perl-Script kann eine Liste aller Zertifikate erstellt werden, die sich in einer Zertifikats-Bundle-Datei befinden. 
 +   # vim /usr/local/bin/ca-list
  
 +<file perl /usr/local/bin/ca-list>#!/usr/bin/perl
 +# Liste eines Zertifikatsbundles ausgeben.
 +# Django <django@mailserver.guru> (c) 2015
 +#
 +$file = shift;
 +unless($file) { die("Ohne Zertifikatsbundle kann die Liste nicht erstellt werden!\n"); }
 +open LISTE, "<$file" or die("Fehler beim Laden der Datei \"$file\"\n");
 +
 +$certfile = "";
 +print "Folgende Zertifikate befinden sich in der Datei $file:\n";
 +
 +while(<LISTE>) {
 +        $certfile .= $_;
 +        if($_ =~ /^\-+END(\s\w+)?\sCERTIFICATE\-+$/) {
 +                print `echo "$certfile" | openssl x509 -noout -subject`;
 +                $certfile = "";
 +        }
 +}
 +close LISTE;
 +</file>
  
 +Das gerade angelegt Script statten wir noch mit den **x**-Ausführungsrecht aus.
 +   # chmod +x /usr/local/bin/ca-list
  
 +Nun können wir auch überprüfen, ob sich die zuvor installierten Root-Zertifikate von [[http://cacert.org|CAcert]] in der Zertifikats-Bundle-Datei //**/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem**// befinden.
 +   # ca-list /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem | grep -i cacert.org
  
 +   subject= /O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org
 +   subject= /O=CAcert Inc./OU=http://www.CAcert.org/CN=CAcert Class 3 Root
  
 +~~AUTOTWEET:~~