Lerne & übe AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Lerne & übe GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
Nutze [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Ein **öffentliches Schlüsselzertifikat** ist eine digitale ID, die in der Kryptographie verwendet wird, um zu beweisen, dass jemand einen öffentlichen Schlüssel besitzt. Es enthält die Details des Schlüssels, die Identität des Eigentümers (das Subjekt) und eine digitale Signatur von einer vertrauenswürdigen Autorität (dem Aussteller). Wenn die Software dem Aussteller vertraut und die Signatur gültig ist, ist eine sichere Kommunikation mit dem Eigentümer des Schlüssels möglich.
Zertifikate werden hauptsächlich von [Zertifizierungsstellen](https://en.wikipedia.org/wiki/Certificate\_authority) (CAs) in einer [Public-Key-Infrastruktur](https://en.wikipedia.org/wiki/Public-key\_infrastructure) (PKI) ausgegeben. Eine andere Methode ist das [Web of Trust](https://en.wikipedia.org/wiki/Web\_of\_trust), bei dem Benutzer die Schlüssel des jeweils anderen direkt verifizieren. Das gängige Format für Zertifikate ist [X.509](https://en.wikipedia.org/wiki/X.509), das für spezifische Bedürfnisse gemäß RFC 5280 angepasst werden kann.
In x509-Zertifikaten spielen mehrere **Felder** eine entscheidende Rolle bei der Sicherstellung der Gültigkeit und Sicherheit des Zertifikats. Hier ist eine Übersicht über diese Felder:
* **Versionsnummer** bezeichnet die Version des x509-Formats.
* **Seriennummer** identifiziert das Zertifikat eindeutig innerhalb des Systems einer Zertifizierungsstelle (CA), hauptsächlich zur Rückverfolgung von Widerrufen.
* Das **Subjekt**-Feld repräsentiert den Eigentümer des Zertifikats, der eine Maschine, eine Einzelperson oder eine Organisation sein kann. Es enthält detaillierte Identifikationsinformationen wie:
* **Common Name (CN)**: Domains, die durch das Zertifikat abgedeckt sind.
* **Land (C)**, **Ort (L)**, **Bundesland oder Provinz (ST, S oder P)**, **Organisation (O)** und **Organisatorische Einheit (OU)** bieten geografische und organisatorische Details.
* **Distinguished Name (DN)** fasst die vollständige Subjektidentifikation zusammen.
* **Aussteller** gibt an, wer das Zertifikat verifiziert und signiert hat, einschließlich ähnlicher Unterfelder wie das Subjekt für die CA.
* **Gültigkeitszeitraum** wird durch die Zeitstempel **Not Before** und **Not After** markiert, um sicherzustellen, dass das Zertifikat nicht vor oder nach einem bestimmten Datum verwendet wird.
* Der Abschnitt **Öffentlicher Schlüssel**, der für die Sicherheit des Zertifikats entscheidend ist, spezifiziert den Algorithmus, die Größe und andere technische Details des öffentlichen Schlüssels.
* **x509v3-Erweiterungen** verbessern die Funktionalität des Zertifikats, indem sie **Key Usage**, **Extended Key Usage**, **Subject Alternative Name** und andere Eigenschaften spezifizieren, um die Anwendung des Zertifikats zu verfeinern.
#### **Schlüsselverwendung und Erweiterungen**
* **Key Usage** identifiziert die kryptographischen Anwendungen des öffentlichen Schlüssels, wie digitale Signatur oder Schlüsselausverschlüsselung.
* **Extended Key Usage** schränkt die Anwendungsfälle des Zertifikats weiter ein, z.B. für die TLS-Serverauthentifizierung.
* **Subject Alternative Name** und **Basic Constraint** definieren zusätzliche Hostnamen, die durch das Zertifikat abgedeckt sind, und ob es sich um ein CA- oder End-Entity-Zertifikat handelt.
* Identifikatoren wie **Subject Key Identifier** und **Authority Key Identifier** gewährleisten die Einzigartigkeit und Rückverfolgbarkeit von Schlüsseln.
* **Authority Information Access** und **CRL Distribution Points** bieten Wege zur Überprüfung der ausstellenden CA und zur Überprüfung des Widerrufsstatus des Zertifikats.
**OCSP** (**RFC 2560**) beinhaltet, dass ein Client und ein Responder zusammenarbeiten, um zu überprüfen, ob ein digitales Public-Key-Zertifikat widerrufen wurde, ohne die vollständige **CRL** herunterladen zu müssen. Diese Methode ist effizienter als die traditionelle **CRL**, die eine Liste von widerrufenen Zertifikat-Seriennummern bereitstellt, aber das Herunterladen einer potenziell großen Datei erfordert. CRLs können bis zu 512 Einträge enthalten. Weitere Details sind [hier](https://www.arubanetworks.com/techdocs/ArubaOS%206\_3\_1\_Web\_Help/Content/ArubaFrameStyles/CertRevocation/About\_OCSP\_and\_CRL.htm) verfügbar.
Zertifikatstransparenz hilft, zertifikatsbezogene Bedrohungen zu bekämpfen, indem sichergestellt wird, dass die Ausstellung und Existenz von SSL-Zertifikaten für Domaininhaber, CAs und Benutzer sichtbar sind. Ihre Ziele sind:
Zertifikatsprotokolle sind öffentlich prüfbare, nur anhängbare Aufzeichnungen von Zertifikaten, die von Netzwerkdiensten verwaltet werden. Diese Protokolle bieten kryptografische Nachweise für Prüfungszwecke. Sowohl die Ausstellungsbehörden als auch die Öffentlichkeit können Zertifikate in diese Protokolle einreichen oder sie zur Verifizierung abfragen. Während die genaue Anzahl der Protokollserver nicht festgelegt ist, wird erwartet, dass sie weltweit weniger als tausend beträgt. Diese Server können unabhängig von CAs, ISPs oder jeder interessierten Entität verwaltet werden.
Es gibt verschiedene Formate zur Speicherung von Zertifikaten, jedes mit eigenen Anwendungsfällen und Kompatibilität. Diese Zusammenfassung behandelt die Hauptformate und bietet Anleitungen zur Konvertierung zwischen ihnen.
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Lernen & üben Sie AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Lernen & üben Sie GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.