Wenn Sie ein gutes Verständnis davon haben, was ein X509-Zertifikat ist, heben Sie bitte die Hand. Da niemand die Hand hebt, ändern wir das jetzt.
Zertifikate sind ein komplexes Thema und oft nicht gut verstanden. Dieses Tutorial zielt darauf ab, das zu ändern, indem es Ihnen Beispiele für X509-Zertifikate zeigt, PKI-Zertifikate demonstriert und vieles mehr.
In diesem Artikel erhalten Sie einen guten Überblick über X509-Zertifikate. Am Ende werden Sie verstehen, wie sie auf einer hohen Ebene funktionieren. Sie werden in einem Artikel kein Experte werden, aber am Ende dieses Artikels werden Sie zumindest mit der richtigen Terminologie vertraut sein.
Verwandt: Verwalten von Zertifikaten mit dem Windows-Zertifikats-Manager und PowerShell
Öffentliche und private Schlüssel: Schutz von Vermögenswerten
Jede Erklärung von X509-Zertifikaten wäre unvollständig, ohne zuerst auf Schlüssel hinzuweisen. Sie haben vielleicht schon einmal von dem Konzept der Schlüssel gehört, wenn Begriffe wie privat und öffentlich Schlüssel verwendet werden. Aber was genau ist ein Schlüssel und wie steht er in Beziehung zu Zertifikaten?
Um die Verbindung einfacher herzustellen, erklären wir das Konzept der Schlüssel anhand eines guten alten Türschlosses.
Wenn Sie ein neues Türschloss kaufen, wird dieses Schloss mit einem Türschlüssel geliefert. Dieser Schlüssel ist einzigartig für dieses Schloss, sodass niemand sonst es öffnen kann.
Denken Sie an das Schloss selbst als einen öffentlichen Schlüssel. Wenn es installiert ist, können Sie, Ihre Familie oder Passanten das Schloss an Ihrer Tür sehen. Jeder kann es sehen und sogar versuchen, es zu öffnen, aber sie werden keinen Erfolg haben. Um es zu öffnen, müssten sie den einzigartigen Türschlüssel verwenden, der ursprünglich mit dem Schloss geliefert wurde. Der einzigartige Schlüssel, der mit dem Schloss geliefert wurde, ist der private Schlüssel.
Der private und öffentliche Schlüssel zusammen werden als Schlüsselpaar bezeichnet.
Schlüsselaustausch
Wenn der Türschlüssel in das Schloss eingeführt wird, können Sie dies als Austausch von Schlüsseln betrachten. Der private Schlüssel (Türschlüssel) muss mit dem öffentlichen Schlüssel (Schloss) ausgetauscht werden, um die Tür zu öffnen.
In der Kryptographie geben Sie freiwillig einen öffentlichen Schlüssel heraus und behalten den privaten Schlüssel für sich selbst. Schließlich ist es Ihnen egal, wer das Schloss sieht, aber es ist Ihnen definitiv wichtig, wer es öffnen kann (Schlüsselaustausch).
Es gibt verschiedene Möglichkeiten des Schlüsselaustauschs, die als Schlüsselaustauschalgorithmen bezeichnet werden. Schlüsselaustauschalgorithmen konzentrieren sich darauf, ein einzigartiges gemeinsames Geheimnis abzuleiten und sicher zu übertragen.
Zwei beliebte Schlüsselaustauschalgorithmen, von denen Sie vielleicht gehört haben, sind Diffie-Hellman (DH) und Elliptic Curve Diffie-Hellman (ECDH).
Schlüsselvertrauen
Wenn Sie möchten, dass jemand durch die Tür geht, würden Sie ihm den Schlüssel geben (oder eine Kopie des originalen, einzigartigen Schlüssels). Sie geben Ihren Schlüssel nur an diejenigen weiter, denen Sie vertrauen. Die Person, die den privaten Schlüssel (Türschlüssel) besitzt, wurde vertraut, das Türschloss (öffentlicher Schlüssel) zu öffnen.
Schlüsselverwendung
Der Verwendungszweck definiert den Zweck des X509-Zertifikats, der mit den Algorithmen übereinstimmt, die das Zertifikat verwenden wird. Die erweiterte Verwendung (EKU) definiert die beabsichtigten Zwecke für den öffentlichen Schlüssel über die Schlüsselverwendung hinaus.
X509-Zertifikate: Öffentliche Schlüssel „Container“
Wie stehen private und öffentliche Schlüssel im Zusammenhang mit dem Konzept eines X509-Zertifikats? Denken Sie an ein Zertifikat als einfach einen öffentlichen Schlüssel. Ein Zertifikat ist die „Hülle“, die einen öffentlichen Schlüssel zusammen mit einigen anderen Informationen über den Schlüssel enthält, wie z. B. an wen der öffentliche Schlüssel ausgestellt wurde, wer den Schlüssel signiert hat und so weiter. Zertifikate werden in Form von Dateien gespeichert.
Wir werden später ein paar gute Beispiele für X509-Zertifikate behandeln.
Haben Sie jemals eine Datei mit einer PEM- oder CER-Zertifikatserweiterung gesehen? Das sind Zertifikate (öffentliche Schlüssel). Sie werden später mehr über diese Formate erfahren.
Der öffentliche Schlüssel allein ist per Definition nicht unbedingt ein Zertifikat. Es ist der öffentliche Schlüssel und die zugehörigen Attributdaten zusammen, die ein Zertifikat definieren.
A certificate provides a standardized and secure format to communicate with specific systems along with the attributes to help validate a key pair trust. How certificates are built are defined within the X.509 standards, as you will read about later.
Fingerabdruck: Eindeutiger Bezeichner eines Zertifikats
Jedes X509-Zertifikat soll die Identifizierung eines einzelnen Subjekts ermöglichen. Das Zertifikat sollte sicherstellen, dass jeder öffentliche Schlüssel eindeutig identifizierbar ist.
A certificate thumbprint or fingerprint is a way to identify a certificate, that is shorter than the entire public key. Technically, a serial number is as well but you’ll learn about that when it comes to certification authorities (CAs). The thumbprint is a hash of a DER-encoded certificate in Windows.
Das Konzept der Identifizierung eines größeren Datensatzes durch einen kleineren eindeutigen Bezeichner ist das allgemeine Thema des Fingerabdrucks in der Informatik. Morgan Simonsons Blog geht genauer auf den Fingerabdruck ein.
Betreff: Definition wichtiger X509-Zertifikatattribute
Jedes X509-Zertifikat muss nicht nur einen eindeutigen Bezeichner haben, sondern auch Fragen wie die folgenden beantworten. Der Zertifikatsgegenstand sollte genau das tun.
- Wer sollte dieses Zertifikat verwenden?
- Welche Organisation sollte vertrauenswürdig sein?
- Welcher Benutzer sollte dieses Zertifikat vorlegen?
Der Gegenstand ist wohl der wichtigste Teil eines Zertifikats. Der Gegenstand soll Attribute haben, die von X.500 definiert sind und repräsentieren, an wen oder was das Zertifikat ausgestellt ist. Er wird im Format eines eindeutigen Namens (DN) dargestellt.
A certificate subject is a string value that has a corresponding attribute type. For example, the DN for State or Province is st. This attribute type contains the full name of the state or province the subject resides in (e.g. ST=California).
Diese Attributtypen und Wertformate sind durch die Empfehlungen der ITU-T X.520 definiert. Eine weitere Referenz ist das RFC 4519 für spezifische Empfehlungen zu Attributtypen und Wertformaten.
Da X509-Zertifikatstandards keine Regeln, sondern nur starke Empfehlungen sind, verwenden viele Menschen ihr eigenes Urteilsvermögen bei der Definition eines Gegenstands. Der Gegenstand soll speziell die Endentität identifizieren, der Sie vertrauen. Wenn der Gegenstand dies nicht repräsentiert, wie können Sie dann irgendetwas mit dem vorgelegten öffentlichen Schlüssel vertrauen?
Anders ausgedrückt: Wenn Sie mehreren Personen gestatten, denselben Benutzernamen zur Zugriff auf ein System zu verwenden, können Sie niemanden für seine Handlungen verantwortlich machen. Diese Praxis erschwert das Vertrauensmodell, dem Zertifikate entsprechen sollen.
Sie können ein Beispiel dafür sehen, wie Windows ein X509-Zertifikat darstellt und insbesondere das Zertifikatsubjekt in dem untenstehenden Screenshot.

Anzeigen der Attribute eines Zertifikats mit der Cryptext.dll.
Subject Alternative Name (SAN)
A SAN is a certificate extension that allows you to use one certificate for multiple subjects that’s typically identified with a Subject Key Identifier (SKI). The example below shows some of the SANs Google uses. Adding more domains to a certificate essentially tells the certificate to trust each subject to use the same private key.
A SAN can also have several types other than DNS names called GeneralNames. GeneralNames require the client reading the certificate to support SANs using GeneralNames. Most clients such as web browsers only focus on the DNS name SAN.
Sie können das SAN unten in diesem Beispiel eines X509-Zertifikats sehen.

Einige der mit Googles Zertifikat verbundenen SAN-Attribute.
Verständnis der Codierung
Wir verwenden viele Sprachen, um miteinander zu kommunizieren, ähnlich haben Computer ihre eigene Sprache. Diese Sprache ist binär und verschiedene Codierungsmethoden machen Binärdateien für andere besser verwendbar, ähnlich wie wir Englisch in andere Sprachen übersetzen würden.
Codierung dient einem bestimmten Zweck. Codierung ermöglicht es, die für Menschen lesbaren Erweiterungswerte so zu speichern, dass sie auch von Computern verwendet werden können. Codierungsformate erleichtern es Computern, X509-Zertifikate zu speichern und zu übertragen, ermöglichen es uns jedoch auch, ihren Inhalt zu lesen.
Computer sind gut darin, mit Ganzzahlen zu arbeiten. Codierung ermöglicht es Ihnen, numerische Werte in alphanumerische Werte oder sogar Binärblöcke umzuwandeln. Diese Umwandlung ist entscheidend für die Arbeit mit Computern, und Zertifikate verlassen sich auf Codierung, um die richtigen Informationen ordnungsgemäß an Computer zu übermitteln. Codierungsformate definieren die Standards für die Durchführung dieser Umwandlungen.
- ASN.1 – Der Standard „Abstract Syntax Notation One“ ist das Serialisierungsformat für jedes der Felder innerhalb der Zertifikate.
- ASCII – Das American Standard Code for Information Interchange (ASCII) definiert einen binären Wert für jeden der Computersteuerzeichen und druckbaren Zeichen, die für die meisten lesbarer menschlicher Kommunikation verwendet werden.
- Base64 – Base64 definiert ein Schema zum Codieren von binären Inhalten innerhalb des ASCII-Zeichensatzes. Dies sind Zertifikate, die Sie in einem Texteditor öffnen können und „BEGIN CERTIFICATE“ oder anderen Referenztext sehen können.
- DER – Distinguished Encoding Rules (DER) definiert ein anderes Kodierungsschema speziell für ASN.1-Daten als sequenzielle Oktette. Der wichtige Aspekt bei DER ist, dass die codierte Ausgabe nicht als ASCII angezeigt werden kann.
Im Folgenden sehen Sie den Unterschied zwischen den Kodierungsschemata. Beachten Sie, dass die Datei certificate.crt zuerst mit „—–BEGIN CERTIFICATE—–“ angezeigt wird, gefolgt von einer Reihe von zufälligen Buchstaben und Zahlen und endet mit „—–END CERTIFICATE—–„. Alle Zeichen sind lesbar. Das erste Zertifikat ist Base64-codiert.
Schauen Sie sich nun das zweite Beispiel der Datei certificate.cer an. Der Inhalt dieser Datei sieht ganz anders aus als das Base64-Zertifikat. Dieses X509-Zertifikat ist DER-codiert.

Unterschied zwischen Base64- und DER-codierten Dateien.
Verständnis der X509-Zertifikatsdateitypen.
Denken Sie daran, dass ein Zertifikat nichts weiter ist als ein öffentlicher Schlüssel mit einigen Metadaten, die als Datei dargestellt werden. Sie werden viele verschiedene Arten von Dateien finden, die viele verschiedene Arten von Zertifikaten repräsentieren. Jede Art von Datei wird durch ihre Dateierweiterung unterschieden. Wenn wir zum Beispiel von einer KEY-Datei sprechen, beziehen wir uns auf ihre Dateierweiterung.
Unten finden Sie alle gängigen Arten von Zertifikaten, die anhand ihrer Dateierweiterung definiert sind, mit denen Sie arbeiten können, und ihren Zweck.
In der folgenden Liste finden Sie verschiedene Verweise auf PKCS. PKCS oder Public Key Cryptography Standards ist ein Satz von Standards, die festlegen, wie verschiedene Zertifikate erstellt werden. Weitere Informationen finden Sie in diesem informative Wikipedia-Artikel.
- PFX – Diese sind am häufigsten in einer Windows-Umgebung zu finden, stellen jedoch unabhängig vom Betriebssystem ein Standardformat dar. PFX-Dateien enthalten ein Zertifikat, den öffentlichen Schlüssel und Erweiterungen sowie einen mit einem Passwort verschlüsselten privaten Schlüssel. PFX wird durch den PKCS #12-Standard definiert.
- P12 – Wie PFX wird auch P12 durch den PKCS #12-Standard definiert. Formell ist PKCS #12 der Nachfolger des PFX-Formats, obwohl beide Dateitypen das gleiche Format in modernen kryptografischen Implementierungen darstellen.
- P7B – Ein Container von ASN.1-Zertifikaten, speziell öffentlichen Schlüsseln für alle Ebenen einer Zertifizierungsstellenkette, wie Sie unten erfahren werden. Eine PKCS #7-Datei bietet eine einzige Datei zum Verteilen mehrerer öffentlicher Schlüssel und wird häufig verwendet, um manuell eine Vertrauensstellung zu Zertifizierungsstellen in einer privaten PKI einzurichten.
- P7C – Der Dateityp P7C hat funktional die gleiche Bedeutung wie P7B, ist jedoch einfach eine andere gängige Erweiterung, die verwendet wird, um eine PKCS #7-Datei darzustellen.
- DER – Eine DER-Datei ist ein DER-codierter öffentlicher Schlüssel.
- CER – Ein öffentlicher Schlüssel, entweder DER- oder Base64-codiert. Eine CER-Datei ist normalerweise DER-codiert.
- CRT – Eine CRT ist normalerweise Base64-codiert, es gibt jedoch keine Garantien.
- KEY – Eine KEY-Datei ist oft ein Base64-codierter privater Schlüssel, ob verschlüsselt oder nicht.
- PEM – Eine Referenz auf eine Base64-codierte Zertifikat, obwohl mehrere Schlüssel in einer einzelnen PEM-Datei sein können, wird oft davon ausgegangen, dass die PEM-Datei einen privaten Schlüssel enthält. Am häufigsten wird eine PEM Base64-codierte private Schlüsseldatei verwendet – ob verschlüsselt oder unverschlüsselt.
- CSR – Wird verwendet, um einen öffentlichen Schlüssel bei einer Zertifizierungsstelle (CA) zur Signierung und Ausstellung zusätzlicher Felder wie einer Seriennummer einzureichen. In den meisten Fällen enthält ein CSR die ASN.1-Struktur des Requests in Base64-Codierung.
- REQ – Wird in Windows verwendet, um die beim Generieren des CSR verwendeten Antragseinstellungen festzulegen.
- CRL – Eine CRL ist eine spezifische Datei, die die von einer Zertifizierungsstelle (CA) widerrufenen Zertifikate, ihren Widerrufsstatus und den Grund für den Widerruf auflistet.
Public Key Infrastructure (PKI): Das X509-Zertifikatssystem
Erinnern Sie sich daran, als jemand den Türschlüssel für ein Türschloss hatte? In diesem Fall hatten Sie nur eine einzelne Tür. Aber was passiert, wenn Sie plötzlich als Vermieter von Dutzenden oder Hunderten von Wohnungen dastehen? Das Verwalten all dieser Türschlüssel wird unübersichtlich werden!
Außerdem werden Mieter nicht für immer in dieser Wohnung bleiben. Es wird Leute geben, die den Schlüssel behalten oder unautorisierte Kopien machen. Sie müssen die Türschlösser ändern, um den Zugang zu verhindern. Sie vertrauen den ehemaligen Mietern nicht mehr.
Wenn Sie Hunderte von Wohnungen mit ständig wechselnden Mietern verwalten müssen, wie bewältigen Sie das alles? Die Antwort lautet Public Key Infrastructure (PKI).
PKI ist ein gesamtes Ökosystem von Rollen, Richtlinien und Verfahren, das sich um das Verwalten öffentlicher Schlüssel dreht. PKI umfasst eine umfassende Reihe vieler unterschiedlicher Schwerpunkte, um X509-Zertifikate zu verteilen, zu verwenden, zu verwalten und zu entfernen. Es ist im Wesentlichen alles, was erforderlich ist, um Zertifikate in großem Maßstab ordnungsgemäß zu behandeln und zu verwalten.
In den kommenden Abschnitten werden wir viele der gängigsten Komponenten einer PKI aufschlüsseln und die Rolle jeder Komponente erklären.
Zertifizierungsstellen (CAs): Ihre Eltern
A PKI is primarily built around the concept of managing trust. But since it’s not economical to directly manage hundreds or thousands of trust relationships, you need a mediator.
Sie benötigen eine Drittpartei, die bereits von der ursprünglichen Partei bestätigt wurde. Diese Vermittler werden als Zertifizierungsstellen (CAs) bezeichnet und durch eine Authority Key Identifiers (AKI)-Erweiterung identifiziert, die aus dem öffentlichen Schlüssel abgeleitet wird, der zum Signieren des betreffenden Zertifikats verwendet wurde.
Denken Sie an sich als Kind wie an ein X509-Zertifikat. Wahrscheinlich haben Ihnen Ihre Eltern beigebracht, Fremden nicht zu vertrauen. Aber was ist, wenn Ihre Eltern (denen Sie vertrauen), Sie einem Fremden vorstellen und Ihnen sagen, dass Sie ihm vertrauen können? Wahrscheinlich würden Sie damit einverstanden sein und diesem Fremden vertrauen. Immerhin vertrauen Ihre Eltern ihm, also können Sie das auch.
A CA plays the role of your parents. You trust your parents (a CA) and they introduce you to strangers. They do so by signing the stranger’s public key to let you know that you can trust them.
Die Hauptaufgabe einer Zertifizierungsstelle besteht darin, als vertrauenswürdiger Vermittler zu fungieren.
Ausstellen von X509-Zertifikaten: Vertrauen herstellen
Als bekannte vertrauenswürdige Instanz ermöglicht eine Zertifizierungsstelle das Vertrauen zwischen indirekten Parteien. Um das Vertrauen zwischen den Parteien zu ermöglichen, „erteilt“ eine Zertifizierungsstelle Zertifikate. Wenn wir von der Ausstellung durch eine Zertifizierungsstelle sprechen, meinen wir eigentlich, dass die Zertifizierungsstelle die angeforderten Erweiterungen validiert und eigene Erweiterungen hinzufügt, um ein Zertifikat zu erstellen.
Wenn eine Zertifizierungsstelle ein X509-Zertifikat ausstellt, verwendet sie ihren eigenen privaten Schlüssel, um den öffentlichen Schlüssel des Zertifikats digital zu signieren. Durch den Signiervorgang markiert eine Zertifizierungsstelle das Zertifikat so, dass jeder weiß, dass sie diesem öffentlichen Schlüssel vertraut. DocuSign bietet einen guten Überblick über dieses spezielle Konzept mit einem guten Diagramm.
Ein weiteres Beispiel für eine von einer Zertifizierungsstelle generierte Erweiterung ist die Seriennummer für jedes Zertifikat, und jede Seriennummer muss gemäß den RFC-Designspezifikationen eindeutig sein.
Ein Beispiel für unbeabsichtigtes Vertrauen in modernen Nachrichten ist der bösartige Einsatz von PKIs mit Malware. Hier haben die Ersteller gültige Zertifikate erhalten, die von den meisten Systemen implizit vertraut werden, was es Ihren Systemen erschwert, die Malware-Binärdateien als bösartig zu identifizieren.
Widerrufen von X509-Zertifikaten: Vertrauen entfernen
Die CA ist auch dafür verantwortlich, X509-Zertifikate zu widerrufen, denen nicht mehr vertraut werden sollte. Diese Widerrufungen werden von der CA in einer Certificate Revocation List (CRL) veröffentlicht. Der Widerruf ist eine Möglichkeit für CAs, ein Zertifikat aktiv zu invalidieren, anstatt auf das Ablaufdatum der Gültigkeitsdauer zu warten.
Vertrauen ist eine kritische Komponente, damit Zertifikate so funktionieren, wie sie entworfen wurden. Verteilungspunkte helfen dabei, das Vertrauen sicherzustellen, indem sie einen Referenzpunkt bieten, an dem das Zertifikat und die Widerrufslisten vom Aussteller heruntergeladen und mit dem Zertifikat verglichen werden können, das Sie verwenden.
A CRL Distribution Point (CDP) supplies the protocols and locations to obtain CRLs. Updating CRLs is a passive revocation validation method, with pulling updates at scheduled intervals. Online Certificate Status Protocol (OCSP) actively requests the revocation status of a specific certificate by maintaining caches of the CRLs.
Obwohl die Widerrufsprüfung über CRLs oder OCSP verfügbar ist, muss sie vom Client unterstützt und durchgesetzt werden, und das ist nicht immer der Fall.
Stufung
A PKI can be made up of multiple CAs or a single CA, these are commonly referred to as tiers.
X509-Zertifikatkettung
Wie Sie oben gelernt haben, ist Vertrauen ein zentraler Fokus bei der Verwendung von Zertifikaten. Beteiligte Parteien müssen in der Lage sein, ein Zertifikat zu vertrauen oder zu validieren, das von einer vertrauenswürdigen CA ausgestellt wurde.
A great example of how this scales is the The United States Federal PKI public documents. These provide a great reference into maintaining an inter-organization trust relationship using CAs.
X509-Zertifikatunterzeichnung
Sie werden oft von einem Konzept namens Zertifikat Unterzeichnung hören, aber was genau bedeutet das? Wie Sie bereits wissen, geht es bei Zertifikaten um Vertrauen. Um Vertrauen herzustellen, wird ein X509-Zertifikat von einer Zertifizierungsstelle signiert. Durch das Signieren eines Zertifikats wird ihm ein eindeutiger kryptografischer Hash zugewiesen, der allen Parteien, die es lesen, sagt, dass sie ihm vertrauen können. Es wurde von einer vertrauenswürdigen Zertifizierungsstelle signiert.
In einer PKI-Hierarchie werden Zertifikate von Zertifizierungsstellen signiert, aber wo diese Zertifikate verwendet werden, hängt davon ab, welche Art von Zertifizierungsstelle sie signiert.
Wenn es in einer PKI nur eine Zertifizierungsstelle gibt, ist diese die Wurzel. Da keine andere Zertifizierungsstelle existiert, muss diese ihre eigene selbstsignierte Zertifikat generieren. Diese Zertifizierungsstelle stellt dann Zertifikate aus, die von ihrem eigenen Zertifikat signiert sind.
Wenn eine PKI mehr als eine Zertifizierungsstelle hat, werden alle Zertifizierungsstellen von einer Stamm-Zertifizierungsstelle oder einer Vermittlungs-Zertifizierungsstelle signiert, die bis zur Stamm-Zertifizierungsstelle zurückverfolgt.
Typischerweise wird, wenn ein Gerät den gleichen privaten Schlüssel verwendet, der zum öffentlichen Schlüssel gehört, bei der Generierung eines X509-Zertifikats von einem selbstsignierten Zertifikat gesprochen. Sie können jedoch auch eine Zertifizierungsstelle bitten, ihren eigenen privaten Schlüssel zur Signierung Ihres Zertifikats zu verwenden.
Signaturalgorithmen
Signaturalgorithmen konzentrieren sich darauf, die Authentizität einer Nachricht von einem entfernten Teilnehmer zu validieren. Eine digitale Signatur ist ein Nachrichten-Hash von einer Hash-Funktion, der mit dem privaten Schlüssel des Senders verschlüsselt wird. Der Empfänger entschlüsselt die digitale Signatur mithilfe einer Kopie des öffentlichen Schlüssels des Senders. Der Empfänger kann dann den Hash-Wert der empfangenen Nachricht mit dem aus der digitalen Signatur entschlüsselten vergleichen. Wenn die Hash-Werte übereinstimmen, ist die Authentizität der Nachricht gültig.
Asymmetrische Verschlüsselung ist die Fähigkeit, Chiffretext ohne Verwendung eines zuvor bekannten Geheimnisses zu erzeugen. Die Kombination eines Schlüsselaustauschalgorithmus mit einem Signaturalgorithmus bildet die Grundlage der asymmetrischen Verschlüsselung.
Im Folgenden sind die wichtigsten Algorithmen für digitale Signaturen aufgeführt.
- Rivest-Shamir-Adleman (RSA)
- Digital Signature Algorithm (DSA)
- Elliptic Curve DSA (ECDSA)
Certificate Signing Requests (CSRs)
Ausstellende CAs verwenden Zertifikatsignieranfragen (CSR), mit denen Clients öffentliche Schlüssel bei CAs zur Ausstellung einreichen können. Eine CA akzeptiert eine CSR und gibt basierend auf den konfigurierten Ausstellungspolicen signierte X509-Zertifikate aus. Das bedeutet, dass das Vertrauen in eine CA auch das Vertrauen in die von ihr signierten öffentlichen Schlüssel impliziert.
Hashing
Hashing ist ein komplexes Thema, dem ich in diesem Beitrag nicht gerecht werden kann. Das Computerphile-Team bietet einen guten Überblick auf ihrem YouTube-Kanal. Beim Hashing geht es darum, ein Eingabeobjekt zu nehmen und einen eindeutigen Ausgabehash für diese eindeutige Eingabe zu erstellen. Der Ausgabehash wird als Digest bezeichnet. Das bedeutet, dass bereits die geringste Änderung am Eingabeobjekt einen anderen eindeutigen und nicht verwandten Digest erzeugt.
Moderne Implementierungen konzentrieren sich auf die Secure Hash Algorithm (SHA) 2-Algorithmen. Zur Information: SHA 256, SHA 384 und SHA 512 werden als SHA 2 bezeichnet.
Im Folgenden finden Sie eine Liste gängiger Hashing-Algorithmen.
- SHA 256
- SHA 384
- SHA 512
- Nachrichten Digest (MD) 5
Zertifikatsrichtlinien
Die Zertifikatsrichtlinienerweiterung (CP) enthält den Verweis auf die Organisation, die die Zertifizierungsstelle (CA) betreibt, und dokumentiert deren tatsächliche Richtlinien für die gegebene PKI. Sie sollte mit einer Zertifizierungspraxiserklärung (CPS) übereinstimmen, die die Richtlinien der Organisation für die Aufrechterhaltung der gegebenen PKI angibt.
Verteilungspunkte
Eine andere Art von Verteilungspunkt, der in Zertifikaten identifiziert wird, ist der Authority Information Access (AIA). Diese AIAs liefern die Protokolle und Standorte, um Kopien der Informationen der Zertifikatsaussteller zu erhalten, am häufigsten handelt es sich dabei um den öffentlichen Schlüssel der ausstellenden CA.
Zusammenfassung
Hoffentlich fühlen Sie sich jetzt sicherer, Ihre Hand zu heben, wenn Ihnen eine Frage wie am Anfang dieses Artikels gestellt wird. Ehrlich gesagt hoffen wir jedoch, dass Ihnen dieser Artikel geholfen hat, die Komplexitäten von X509-Zertifikaten und deren Implementierung in Windows zu verstehen. Er hilft Ihnen auch, einige der grundlegenden Komponenten zu verstehen, die Ihnen bei der Arbeit mit Zertifikaten in Zukunft helfen werden.
Zumindest können Sie jetzt bestätigen, dass Sie bei der Aufforderung nach einem öffentlichen Schlüssel Ihres Zertifikats sowohl DER- als auch Base64-codierte Versionen senden werden, und Ihr Gegenüber wird es nicht wissen.