Digitale Zertifikate (private Key, X.509)

http://de.wikipedia.org/wiki/Digitales_Zertifikat

http://de.wikipedia.org/wiki/X.509

Begriffe:

Eine Certification Authority (CA) ist eine Instanz, die SSL / TLS Zertifikate ausstellt und beglaubigt. Die „Kunden“ einer CA lassen sich dann ihre eigenen (Server-)Zertifikate von der CA kryptografisch signieren und können damit nachweisen, dass sie der sind, der sie zu sein vorgeben.

CSR – Certificate Signing Request

Eine CSR wird von Ihrem Server (SSL) oder Ihren Signierwerkzeugen (Code Signing) erzeugt und ist Ihr eindeutiger „Fingerabdruck“. In der CSR ist zudem Ihr Schlüsselpaar mit öffentlichem Schlüssel enthalten, das die Authentifizierung und Verschlüsselung ermöglicht.

Auszug :

Ein von einer Zertifizierungsstelle ausgestelltes digitales Zertifikat wird im X.509-System immer an einen „Distinguished Name“ oder einen „Alternative Name“ wie eine E-Mail-Adresse oder einen DNS-Eintrag gebunden.

Nahezu alle Webbrowser beinhalten eine vorkonfigurierte Liste vertrauenswürdiger Zertifizierungsstellen, deren ausgestellten SSL-Zertifikaten der Browser vertraut.

X.509 beinhaltet außerdem einen Standard, mittels dessen Zertifikate seitens der Zertifizierungsstelle wieder ungültig gemacht werden können, wenn deren Sicherheit nicht mehr gegeben (also z.B. der Private Key für das Signieren von E-Mails öffentlich geworden) ist. Die Zertifizierungsstelle kann hierfür ungültige Zertifikate in Zertifikatsperrlisten (certificate revocation list, kurz CRL) führen. Die automatische Überprüfung, ob ein Zertifikat inzwischen Teil einer Sperrliste ist, ist allerdings nicht in allen Programmen, die X.509-Zertifikate akzeptieren, standardmäßig aktiviert.

 

http://doku.fietz.net/index.php?title=SSL-Zertifikate

 

http://www.heise.de/security/artikel/SSL-fuer-lau-880221.html

Ablauf :

Grundsätzlich ist der Ablauf bei der Ausstellung eines Zertifikats immer der Gleiche.

  • Zunächst generiert man sich ein Schlüsselpaar (einen öffentlichen und einen privaten Schlüssel). Unter Linux und BSD-Derivaten erledigt man das beispielsweise mitopenssl genrsa -out example.com.key 2048Dieser Befehl erzeugt die Schlüssel mit jeweils 2048 Bit Länge und speichert sie zusammen in der Datei example.com.key.

    Der Zusatz -des3 sichert den Schlüssel mit einem Passwort, allerdings muss man dieses später beim Start des Webservers angeben.

  • Der Befehlopenssl req -new -key example.com.key -out example.com.csrliest den öffentlichen Schlüssel aus der Key-Datei und erstellt damit einen sogenannten Certificate Signing Request (CSR). Der CSR enthält üblicherweise Angaben zum Inhaber des Schlüssels wie Organisation, Land, Ort, E-Mail-Adresse und die Adresse des Servers (Common Name, CN) für die das Zertifikat ausgestellt werden soll, also www.example.com.

    Daneben enthält der CSR den öffentlichen Schlüssel.

  • Den CSR schickt man zur Certificate Authority, die ein Zertifikat erstellt.
  • Das Zertifikat wiederum enthält den öffentlichen Schlüssel, Angaben zum Inhaber und zum Aussteller sowie die digitale Signatur des Ausstellers über alle enthaltenen Informationen und den Schlüssel. Damit ist der Schlüssel an eine Identität gebunden.
  • Das fertige Zertifikat speichert man auf seinem Server, der es auf Anfrage eines Clients ausliefert. So weit die Theorie.

 

 https://search.thawte.com/support/ssl-digital-certificates/index?page=content&actp=CROSSLINK&id=SO2614