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:25. ] – [Beispiel am CAcert Root-Zertifikat] djangocentos:ca-trust [17.07.2015 17:49. ] – [Import-Beispiel am CAcert Root-Zertifikat] #CAcert #dokuwiki 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 411: Zeile 407:
 -----END CERTIFICATE----- -----END CERTIFICATE-----
 </file> </file>
 +
 +Das gleiche machen wir nun mit dem Class3 Zertifikat von CAcert.
 +   # wget -O CAcert_class3.pem --no-check-certificate https://www.cacert.org/certs/class3.crt
 +
 +Nun haben wir auch das Class3 Root-Zertifikat von CAcert in unserem Verzeichnis.
 +   # less CAcert_class3.pem
 +<file CAcert_class3.pem>-----BEGIN CERTIFICATE-----
 +MIIHWTCCBUGgAwIBAgIDCkGKMA0GCSqGSIb3DQEBCwUAMHkxEDAOBgNVBAoTB1Jv
 +b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ
 +Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y
 +dEBjYWNlcnQub3JnMB4XDTExMDUyMzE3NDgwMloXDTIxMDUyMDE3NDgwMlowVDEU
 +MBIGA1UEChMLQ0FjZXJ0IEluYy4xHjAcBgNVBAsTFWh0dHA6Ly93d3cuQ0FjZXJ0
 +Lm9yZzEcMBoGA1UEAxMTQ0FjZXJ0IENsYXNzIDMgUm9vdDCCAiIwDQYJKoZIhvcN
 +AQEBBQADggIPADCCAgoCggIBAKtJNRFIfNImflOUz0Op3SjXQiqL84d4GVh8D57a
 +iX3h++tykA10oZZkq5+gJJlz2uJVdscXe/UErEa4w75/ZI0QbCTzYZzA8pD6Ueb1
 +aQFjww9W4kpCz+JEjCUoqMV5CX1GuYrz6fM0KQhF5Byfy5QEHIGoFLOYZcRD7E6C
 +jQnRvapbjZLQ7N6QxX8KwuPr5jFaXnQ+lzNZ6MMDPWAzv/fRb0fEze5ig1JuLgia
 +pNkVGJGmhZJHsK5I6223IeyFGmhyNav/8BBdwPSUp2rVO5J+TJAFfpPBLIukjmJ0
 +FXFuC3ED6q8VOJrU0gVyb4z5K+taciX5OUbjchs+BMNkJyIQKopPWKcDrb60LhPt
 +XapI19V91Cp7XPpGBFDkzA5CW4zt2/LP/JaT4NsRNlRiNDiPDGCbO5dWOK3z0luL
 +oFvqTpa4fNfVoIZwQNORKbeiPK31jLvPGpKK5DR7wNhsX+kKwsOnIJpa3yxdUly6
 +R9Wb7yQocDggL9V/KcCyQQNokszgnMyXS0XvOhAKq3A6mJVwrTWx6oUrpByAITGp
 +rmB6gCZIALgBwJNjVSKRPFbnr9s6JfOPMVTqJouBWfmh0VMRxXudA/Z0EeBtsSw/
 +LIaRmXGapneLNGDRFLQsrJ2vjBDTn8Rq+G8T/HNZ92ZCdB6K4/jc0m+YnMtHmJVA
 +BfvpAgMBAAGjggINMIICCTAdBgNVHQ4EFgQUdahxYEyIE/B42Yl3tW3Fid+8sXow
 +gaMGA1UdIwSBmzCBmIAUFrUyG9TH8+DmjvO90rA67rI5GNGhfaR7MHkxEDAOBgNV
 +BAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAG
 +A1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS
 +c3VwcG9ydEBjYWNlcnQub3JnggEAMA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUH
 +AQEEUTBPMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggr
 +BgEFBQcwAoYcaHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBB
 +MD8GCCsGAQQBgZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9y
 +Zy9pbmRleC5waHA/aWQ9MTAwNAYJYIZIAYb4QgEIBCcWJWh0dHA6Ly93d3cuQ0Fj
 +ZXJ0Lm9yZy9pbmRleC5waHA/aWQ9MTAwUAYJYIZIAYb4QgENBEMWQVRvIGdldCB5
 +b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSwgZ28gdG8gaHR0cDovL3d3dy5D
 +QWNlcnQub3JnMA0GCSqGSIb3DQEBCwUAA4ICAQApKIWuRKm5r6R5E/CooyuXYPNc
 +7uMvwfbiZqARrjY3OnYVBFPqQvX56sAV2KaC2eRhrnILKVyQQ+hBsuF32wITRHhH
 +Va9Y/MyY9kW50SD42CEH/m2qc9SzxgfpCYXMO/K2viwcJdVxjDm1Luq+GIG6sJO4
 +D+Pm1yaMMVpyA4RS5qb1MyJFCsgLDYq4Nm+QCaGrvdfVTi5xotSu+qdUK+s1jVq3
 +VIgv7nSf7UgWyg1I0JTTrKSi9iTfkuO960NAkW4cGI5WtIIS86mTn9S8nK2cde5a
 +lxuV53QtHA+wLJef+6kzOXrnAzqSjiL2jA3k2X4Ndhj3AfnvlpaiVXPAPHG0HRpW
 +Q7fDCo1y/OIQCQtBzoyUoPkD/XFzS4pXM+WOdH4VAQDmzEoc53+VGS3FpQyLu7Xt
 +hbNc09+4ufLKxw0BFKxwWMWMjTPUnWajGlCVI/xI4AZDEtnNp4Y5LzZyo4AQ5OHz
 +0ctbGsDkgJp8E3MGT9ujayQKurMcvEp4u+XjdTilSKeiHq921F73OIZWWonO1sOn
 +ebJSoMbxhbQljPI/lrMQ2Y1sVzufb4Y6GIIiNsiwkTjbKqGTqoQ/9SdlrnPVyNXT
 +d+pLncdBu8fA46A/5H2kjXPmEkvfoXNzczqA6NXLji/L6hOn1kGLrPo8idck9U60
 +4GGSt/M3mMS+lqO3ig==
 +-----END CERTIFICATE-----
 +</file> 
  
 <WRAP center round important 90%> <WRAP center round important 90%>
Zeile 418: Zeile 463:
    # openssl x509 -noout -fingerprint -in CAcert_class1.pem     # openssl x509 -noout -fingerprint -in CAcert_class1.pem 
  
-   SHA1 Fingerprint=13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33+  SHA1 Fingerprint=13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
  
 Diesen Fingerprint vergleichen wir nun mit den Angaben von [[http://cacert.org|CAcert]] auf deren [[https://www.cacert.org/index.php?id=3|Homepage]]. Dort finden wir folgende Daten: Diesen Fingerprint vergleichen wir nun mit den Angaben von [[http://cacert.org|CAcert]] auf deren [[https://www.cacert.org/index.php?id=3|Homepage]]. Dort finden wir folgende Daten:
-   SHA1 Fingerabdruck: 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33+  SHA1 Fingerabdruck: 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33
  
 <WRAP center round alert 100%> <WRAP center round alert 100%>
Zeile 428: Zeile 473:
 </WRAP> </WRAP>
  
-Da **__beide Fingerprints__** gleich sind, können wir mit dem Importvorgang fortfahren! +Da **__beide Fingerprints__** gleich sind, können wir nun noch mit dem zweite CAcert Class3 Zertifikat genau so verfahren dabei wie beim ersten Zertifikat. 
 +   # openssl x509 -noout -fingerprint -in CAcert_class3.pem 
 + 
 +  SHA1 Fingerprint=AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE 
 + 
 +Diesen Fingerprint vergleichen wir nun mit den Angaben von [[http://cacert.org|CAcert]] auf deren [[https://www.cacert.org/index.php?id=3|Homepage]]. Dort finden wir folgende Daten: 
 +  SHA1 Fingerabdruck: AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE 
 + 
 +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:~~