Zertifikatsignieranforderungen (CSRs) sind entscheidend für die Websicherheit und Verschlüsselung. Sie sind integraler Bestandteil des Prozesses zur Erlangung einer Secure Socket Layer (SSL) oder Transport Layer Security (TLS) Zertifikat von einem Zertifizierungsstelle (CA). Dieser Blog führt Sie durch das Verständnis und die Erstellung eines CSR und hebt dessen Bedeutung für die Aufrechterhaltung der Websicherheit hervor.
Was ist eine CSR?
Ein Block verschlüsselten Textes, bekannt als Certificate Signing Request, wird gesendet, wenn ein SSL-Zertifikat von einem Zertifizierungsstelle. Es wird normalerweise auf dem Server generiert, auf dem das Zertifikat installiert wird. Es enthält Informationen zum Zertifikat, wie z. B. den Organisationsnamen, den allgemeinen Namen (Domänenname), den Ort und die Nation. Darüber hinaus enthält es den öffentlichen Schlüssel, der zum Signieren des Zertifikats verwendet wird.
Warum sind CSRs wichtig?
CSRs fungieren als Kanal zwischen der Entität fordern die SSL-Zertifikat und die ausstellende Zertifizierungsstelle. Durch die Generierung eines CSR erstellen Sie zwei wesentliche Elemente. Das erste ist die Öffentlicher Schlüssel, der in der CSR enthalten ist. Der zweite Schlüssel ist der private Schlüssel, der gleichzeitig mit der CSR generiert wird und auf Ihrem Server verbleibt. Der private Schlüssel muss geheim gehalten werden, da er dem Server die Authentifizierung und Dekodierung von Informationen ermöglicht, sobald das SSL-Zertifikat betriebsbereit ist.
Übersicht über Luna Cloud HSM von Thales: Funktionen und Vorteile
Luna Cloud HSM ist ein Hardware-Sicherheitsmodul (HSM) Von Thales bereitgestellt. Der Zusatz „Cloud HSM“ weist darauf hin, dass es sich um ein Cloud-basiertes Angebot handelt. Sie können über das Internet darauf zugreifen, anstatt ein HSM physisch in Ihrem Rechenzentrum zu installieren und zu verwalten. Das Luna Cloud HSM ist Teil des CipherTrust Cloud Key Manager-Dienstes von Thales.
Ein HSM ist ein dediziertes Hardwaregerät mit speziellen kryptografischen Prozessoren zur Verwaltung digitaler Schlüssel und Durchführung kryptografischer Operationen. Es bietet eine sichere Umgebung, in der Sie Verschlüsselungsschlüssel generieren, verwalten und verwenden können. Zur Erhöhung der Sicherheit sind diese von anderen Systemkomponenten isoliert. HSMs werden typischerweise zum Schutz der sensibelsten digitalen Assets eines Unternehmens eingesetzt.
Das Luna Cloud HSM bringt das Beste der Cloud in die HSM-Welt – Skalierbarkeit, Zugänglichkeit und geringere Vorlaufkosten. Sie erhalten die Sicherheit eines herkömmlichen HSM mit den zusätzlichen Vorteilen eines Cloud-Dienstes.
Die Hauptfunktionen von Luna Cloud HSM sind:
-
Robuste Sicherheit
Luna Cloud HSM nutzt die starke Verschlüsselung von Thales und Schlüsselverwaltung Funktionen und bieten einen der höchsten Cloud-Datenschutzgrade. Die HSMs sind manipulationssicher und bieten eine sichere Umgebung für kryptografische Operationen.
-
Skalierbarkeit
Wenn Ihre kryptografischen Anforderungen wachsen, lässt sich Luna Cloud HSM problemlos mitskalieren. Sie müssen sich nicht um den Kauf und die Installation zusätzlicher HSM-Hardware kümmern.
-
Hochverfügbarkeit
Luna Cloud HSM bietet hohe Verfügbarkeit und automatische Failover-Funktionen zur Gewährleistung der Geschäftskontinuität. Sie können HSMs in mehreren Regionen einsetzen, um lokale Ausfälle zu minimieren.
-
Compliance
Luna Cloud HSM unterstützt Sie bei der Einhaltung gesetzlicher Standards im Zusammenhang mit kryptografischen Vorgängen und Schlüsselverwaltung, einschließlich PCI-DSS, Datenschutz und HIPAADer Dienst verfügt über umfassende Audit- und Protokollierungsfunktionen.
-
Flexibel Kommunikation
Luna Cloud HSM unterstützt eine breite Palette kryptografischer APIs, Bibliotheken und Integrationen, wie z. B. PKCS#11, Java (JCE), Microsoft CryptoAPI und Microsoft CNG, und ist daher mit einer breiten Palette von Anwendungen und Diensten kompatibel.
Überprüfen Sie auch die Liste der unterstützten Client-Plattformen für Luna Cloud HSM werden auf dieser Seite erläutert.
Wie erstelle ich eine CSR?
Die Generierung einer CSR kann je nach verwendeter Software unterschiedlich sein, die Kernschritte bleiben jedoch gleich. Hier ist ein allgemeiner Überblick über den Prozess:
-
Vorbereitung
Bevor Sie Ihre CSR erstellen, müssen Sie über alle relevanten Details verfügen. Dazu gehören Ihr Domänenname, der Name Ihrer Organisation, Ihr Ort (Stadt), Ihr Bundesland oder Ihre Provinz und der Ländercode.
-
Generieren eines Schlüsselpaars
Der erste Schritt beim Generieren einer CSR ist die Erstellung eines öffentlich-privaten Schlüsselpaars. Denken Sie daran, dass Ihr privater Schlüssel sicher auf dem generierten Server oder Hardwaremodul verbleiben sollte.
-
Generieren Sie den CSR
Verwenden Sie ein CSR-Generierungstool, das auf Ihre Serversoftware abgestimmt ist. Dieses Tool fragt Sie nach den in Schritt 1 vorbereiteten Details und dem in Schritt 2 generierten privaten Schlüssel. Das Tool generiert dann eine verschlüsselte Datei mit der Erweiterung .csr oder .req.
Während des CSR-Generierungsprozesses werden Sie aufgefordert, Ihre Daten (allgemeiner Name, Organisation, Ort usw.) einzugeben.
CSR aus Luna HSM generieren
Wir werden CSR auf Thales DPoD generieren. Daher müssen wir zunächst die Anwendungseigentümerkonfiguration durchführen, d. h. einen Client hinzufügen und konfigurieren.
Die Client-Installation verwendet eine .zip (Windows) oder .tar (Linux), um die Client-Materialien bereitzustellen, die für die Konfiguration der Verbindung Ihres Systems zum Luna Cloud HSM-DienstDie Client-ZIP-Datei enthält eine vorkonfigurierte Datei crystoki-template.ini und eine Client-Archivdatei mit einer Bibliothek und Binärdateien.
Installieren des Service-Clients
-
Rufen Sie die Serviceseite auf und klicken Sie auf den Service oder den Partitionsnamen, für den Sie einen Client generieren möchten.

-
Klicken Sie auf Neuer Service-Client – Das Fenster „Service-Client erstellen“ wird angezeigt.

-
Geben Sie im Fenster „Service-Client erstellen“ einen Client-Namen ein (z. B. Pega-Macro) und wählen Sie „Service-Client erstellen“ aus.

Konfigurieren des installierten Service-Clients
- Ein neuer Kunde (in diesem Fall setup-PKI-Luna.zip) generiert und zum Herunterladen und Installieren auf Ihrem Client-Computer bereitgestellt.
- Der Client ist eine ZIP-Datei mit den Systeminformationen, die zum Verbinden Ihres Computers mit einer HSM-Partition erforderlich sind. Weitere Informationen zu den Client-Inhalten finden Sie im Abschnitt „Client-Inhalte“.
- Übertragen Sie den Client auf Ihren Computer. Sie können den Client über SCP, PSCP, WinSCP, FTPS oder andere Sicherheitstools übertragen.
- Entpacken Sie die Datei mithilfe der Windows-Benutzeroberfläche oder eines Entpackungstools – setup-PKI-Luna.zip.
- Dekomprimieren Sie die Datei cvclient-min.zip.
- Extrahieren Sie die Datei cvclient-min.zip in das Verzeichnis, das Sie im vorherigen Schritt erstellt haben. Dieser Speicherort wird für den Befehl setenv in Schritt 7 benötigt. Extrahieren Sie die Datei nicht in ein neues Verzeichnis für cvclient-min.zip.
-
Legen Sie die Umgebungsvariable fest. Öffnen Sie eine Administrator-Eingabeaufforderung. Klicken Sie mit der rechten Maustaste auf „Eingabeaufforderung“ und wählen Sie „Als Administrator ausführen“. Führen Sie in der Administrator-Eingabeaufforderung Folgendes aus:

Konfigurieren des SafeNet Key Storage Providers (KSP)
-
Das System benötigt Zugriff auf den SafeNet Key Storage Provider (KSP). Kopieren Sie die Datei SafeNetKSP.dll von Ihrem heruntergeladenen Luna Cloud HSM Service Client nach C:\\Windows\System32.
Hinweis: Wenn Sie die Datei SafeNetKSP.dll nicht kopieren, haben Sie während der Integration keinen Zugriff auf die SafeNet-Schlüsselspeicheranbieter. Wenn Sie beispielsweise Microsoft Active Directory-Zertifikatdienste konfigurieren, stehen die SafeNet-Schlüsselspeicheranbieter beim Einrichten der Kryptografie für die Zertifizierungsstelle nicht zur Verfügung.
- Führen Sie KspConfig.exe aus
- Navigieren Sie zum KSP-Installationsverzeichnis.
- Doppelklicken Sie auf Registrieren oder Sicherheitsbibliothek anzeigen.
-
Klicken Sie auf Jetzt entdecken. Wählen Sie die cryptoki.dll Datei vom Luna Cloud HSM Service Client.
Klicken Sie auf Registrieren.

-
Bei erfolgreicher Registrierung wird ein Success! Die Meldung wird angezeigt. Klicken Sie auf OK.

- Doppelklicken Sie auf „HSM-Slots registrieren“.
-
Registrieren Sie das HSM für den Administratorbenutzer. Öffnen Sie dazu die Für Benutzer registrieren Dropdown-Menü und wählen Sie Administrator; öffnen Sie die Domain Dropdown-Menü und wählen Sie Ihre Domäne aus. Öffnen Sie das Verfügbare Slots Wählen Sie im Dropdown-Menü die Servicebezeichnung aus. Geben Sie die Slot-Passwortund klicken Sie auf Steckplatz registrieren.

-
Bei erfolgreicher Registrierung wird ein Success! Die Meldung wird angezeigt. Klicken Sie auf OK.

-
Registrieren Sie das HSM für den Systembenutzer. Öffnen Sie das Dropdown-Menü „Für Benutzer registrieren“ und wählen Sie „SYSTEM“, das Dropdown-Menü „Domäne“ und „NT-AUTORITÄT“. Öffnen Sie das Dropdown-Menü „Verfügbare Slots“, wählen Sie die Servicebezeichnung aus, geben Sie das Slot-Passwort ein und klicken Sie auf „Slot registrieren“.

-
Nach erfolgreicher Registrierung wird die Meldung „Erfolgreich!“ angezeigt. Klicken Sie auf „OK“.

Generieren des CSR im Service Client
-
Erstellen Sie eine Datei mit dem Namen request.inf und füllen Sie es mit den folgenden Details aus, um eine Anfrage für ein SSL-Zertifikat zu generieren, das mit einem RSA Schlüssel. Der Inhalt ist:
[Version]
Signature = "$Windows NT$"
[NewRequest]
Subject = "C=US, S=Dallas, L=Texas, O=Encryption Consulting LLC, OU=Dev, [email protected], CN=ECIssued"
HashAlgorithm = SHA256
KeyAlgorithm = RSA
KeyLength =2048
ProviderName = "Safenet Key Storage Provider"
KeyUsage = 0xf0
MachineKeySet =True
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.
Hinweis: Der allgemeine Name (CN) des Betreffs wird für diese Anfrage willkürlich gewählt und kann sich ändern.
Die Parameter sind:
-
Signature
„$Windows NT$“ gibt an, dass die INF-Datei für die Verwendung mit Windows NT und späteren Windows-Versionen vorgesehen ist.
-
Betreff
- C - Definiert den zweistelligen Ländernamen für den Distinguished Subject Name (DN) der Zertifikatsanforderung. Dieser Parameter sollte im Betreff-DN vorhanden sein.
- S - Definiert den Statusnamen für den Distinguished Subject Name (DN) der Zertifikatsanforderung. Dieser Parameter sollte im Betreff-DN vorhanden sein.
- L - Definiert den Ort (normalerweise die Stadt) für den Distinguished Subject Name der Zertifikatsanforderung. Dieser Parameter kann im Subject DN vorhanden sein.
- Ö - Definiert den Organisationsnamen für den Distinguished Subject Name (DN) der Zertifikatsanforderung. Dieser Parameter sollte im Betreff-DN vorhanden sein.
- ODER - Definiert den Namen der Organisationseinheit für den Distinguished Subject Name (DN) der Zertifikatsanforderung. Dieser Parameter kann im Betreff-DN vorhanden sein.
- und - ist die offizielle oder Kontakt-E-Mail-Adresse der Zertifizierungsstelle.
- KN – Definiert den allgemeinen Namen für den Distinguished Subject Name (DN) der Zertifikatsanforderung. Dieser Parameter sollte im Betreff-DN vorhanden sein.
-
Hashing-Algorithmus
SHA256 setzt den Hash-Algorithmus auf SHA256, eine standardmäßige und sichere Wahl.
-
Schlüsselalgorithmus
RSA legt den Schlüsselalgorithmus auf RSA fest, einen weit verbreiteten Public-Key-Algorithmus.
-
Schlüssellänge
2048 legt die Länge des Schlüssels auf 2048 Bit fest. Dies ist der aktuelle Industriestandard für RSA-Schlüssel.
-
Anbietername
„SafeNet-Schlüsselspeicheranbieter“ gibt den zu verwendenden Cryptographic Service Provider (CSP) an. Der CSP ist eine Softwarebibliothek, die kryptografische Funktionen implementiert. In diesem Fall wird der SafeNet Key Storage Provider verwendet.
-
Schlüsselverwendung
0xf0 gibt den Zweck des Schlüssels im Zertifikat an. Der hexadezimale Wert 0xf0 entspricht dem Binärwert 11110000, der die Schlüsselverwendungen „Digitale Signatur“ (0x80), „Schlüsselverschlüsselung“ (0x20), „Datenverschlüsselung“ (0x10) und „Schlüsselvereinbarung“ (0x08) darstellt.
-
Maschinenschlüsselsatz
„True“ bedeutet, dass der private Schlüssel im Zertifikatspeicher des lokalen Computers und nicht im Zertifikatspeicher des aktuellen Benutzers gespeichert ist.
-
EnhancedKeyUsageExtension
OID=1.3.6.1.5.5.7.3.1 ist ein Objektbezeichner (OID), der die Verwendung des Zertifikats angibt. Die OID 1.3.6.1.5.5.7.3.1 steht für „Serverauthentifizierung“, d. h. das Zertifikat dient der Authentifizierung von Servern bei der SSL/TLS-Kommunikation.
-
- Öffnen Sie als Administrator ein neues Eingabeaufforderungsfenster. Suchen Sie dazu im Startmenü nach „cmd“, klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung und wählen Sie „Als Administrator ausführen“.
- Navigieren Sie zum Pfad, in dem sich requested.inf befindet, und drücken Sie die Eingabetaste.
-
Generieren Sie nun die Zertifikatsanforderung mit dem folgenden Befehl:
certreq -new request.inf request.req
Dieser Befehl erstellt eine neue Certificate Signing Request (CSR)-Datei mit dem Namen „request.req“ basierend auf der Konfiguration in Ihrer Datei „request.inf“. Sie können diese CSR-Datei für Ihr SSL-Zertifikat an eine Zertifizierungsstelle (CA) senden.
Signieren Sie die CSR mit Microsoft CA
Es gibt zwei verschiedene Möglichkeiten, einen CSR zu unterzeichnen:
Zertifikatsanforderung wird akzeptiert
-
Übertragen Sie die CSR-Datei an die ausstellende Zertifizierungsstelle und führen Sie den Befehl aus –
certreq -submit -attrib "CertificateTemplate:<Template Name>" "C:\MacroSign.csr"Hier ist der Vorlagenname = „EncryptionConsuCodeSigning“

-
Nach Auswahl der Zertifizierungsstelle Speichern Sie das Zertifikat aus der Liste der Zertifizierungsstellen unter einem geeigneten Namen. (Z. B. = ECMacro, die Erweiterung sollte entweder .crt oder .cer sein.)

-
Nach erfolgreicher Ausführung finden Sie das Zertifikat in der Liste der ausgestellten Zertifikate in Zertifizierungsstelle

-
Prüfen Sie, ob „Code Signing“ im Attribut enthalten ist Verbesserte Schlüsselverwendung des neu generierten Zertifikats.

Über die Web-Anmeldung
-
Die verfügbaren Vorlagen in der Zertifizierungsstelle

-
Führen Sie nun die Web-Registrierung durch, nachdem Sie eine Vorlage ausgewählt haben – „Code Signing.“ (in unserem Fall – https://ca02.encon.com/certsrv/)

-
Nach der Auswahl Fordern Sie ein Zertifikat an, dieser Bildschirm wird angezeigt. Wählen Sie Erweiterte Zertifikatsanforderung. (In unserem Fall – https://ca02.encon.com/certsrv/certrqus.asp)

-
Fügen Sie den Inhalt des CSR ein Gespeicherte Anfrage und wählen Sie Codesignatur in England, ZertifikatvorlageKlicken Sie anschließend auf Absenden.

-
Sie werden zu zwei Optionen aufgefordert: Zertifikat herunterladen und Zertifikatskette herunterladenWählen Sie Letzteres und laden Sie die Kette auf Ihr lokales System herunter.

-
Dies ist, was die Zertifikatskette wird aussehen wie.

Hinzufügen des privaten Schlüssels zum Zertifikat
-
Akzeptieren und Installieren des Zertifikats, damit es in der Windows-Umgebung verfügbar ist.

-
Fügen Sie das Zertifikat anschließend zu den „Persönlichen“ Zertifikaten von Zertifikate – Lokaler Computer mit dem Befehl –
certutil -store MY “<thumbprint of the certificate>”
Problemlösung
-
So überprüfen Sie die Liste der CA-Vorlagen in der ausstellenden CA:
certutil -CATemplates
-
Wenn der private Schlüssel nicht an das Zertifikat angehängt ist, versuchen Sie diesen „Repairstore“-Befehl

-
CSP/KSP-Registrierung schlägt in Windows fehl.
CSP/KSP-Registrierungen können fehlschlagen, wenn Windows Update fehlt, da es einen Schritt enthält, der überprüft, ob die DLLs mit dem Thales-Zertifikat signiert sind, das auf die DigiCert-Vertrauenswurzel G4 zurückgeht (unter Einhaltung der Sicherheitsstandards der Branche).
Dieser Schritt kann nur erfolgreich sein, wenn Ihr Windows-Betriebssystem über das erforderliche Zertifikat verfügt. Wenn Ihr Windows-Betriebssystem aktualisiert ist, sollten Sie dieses Zertifikat bereits besitzen.
Wenn Ihr Luna HSM-Client-Host mit dem Internet verbunden ist, verwenden Sie die folgenden Befehle, um das Zertifikat manuell zu aktualisieren:
certutil -urlcache -f http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt
certutil -addstore -f root DigiCertTrustedRootG4.crtSo aktualisieren Sie einen nicht verbundenen Host manuell
- Laden Sie DigiCert Trusted Root G4 (http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt) auf einen separaten, mit dem Internet verbundenen Computer.
- Transportieren Sie das Zertifikat mit Ihren genehmigten Mitteln zum Luna Client-Host in ein Ort Ihrer Wahl
-
Fügen Sie das Zertifikat mit dem folgenden Befehl zum Zertifikatspeicher hinzu:
certutil -addstore -f root <downloaded cert path>
-
Besitzt das Betreff aus der Zertifikatsanforderung nicht auf dem Zertifikat angezeigt wird, versuchen Sie die folgenden Schritte.
- Öffnen Sie die Zertifikatvorlagenkonsole: Öffnen Sie auf dem AD CS-Server die Zertifikatvorlagenkonsole, indem Sie „certtmpl.msc“ aus dem Dialogfeld „Ausführen“ (Win + R) ausführen.
- Vorhandene Vorlage duplizieren: Es empfiehlt sich grundsätzlich, eine vorhandene Vorlage zu duplizieren, anstatt sie zu ändern. Suchen Sie eine Vorlage, die Ihrer gewünschten Vorlage ähnelt, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Vorlage duplizieren“.
-
Vorlage konfigurieren: Im Eigenschaftendialog der neuen Vorlage können Sie verschiedene Einstellungen konfigurieren. So legen Sie die Felder „Schlüsselverwendung“ und „Erweiterte Schlüsselverwendung“ fest:
Schlüsselverwendung: Gehen Sie zur Registerkarte „Erweiterungen“, wählen Sie „Schlüsselverwendung“ in der Liste aus und klicken Sie auf „Bearbeiten“. Hier können Sie die Schlüsselverwendungen auswählen, die Sie einschließen möchten, z. B. „Digitale Signatur“, „Schlüsselverschlüsselung“ usw.
Verbesserte Schlüsselverwendung: Wählen Sie weiterhin auf der Registerkarte „Erweiterungen“ „Anwendungsrichtlinien“ aus und klicken Sie auf „Bearbeiten“. Hier können Sie die erweiterten Schlüsselverwendungen hinzufügen, die Sie einschließen möchten, z. B. „Codesignierung“, „Serverauthentifizierung“ usw.
- Vorlage speichern: Wenn Sie die Vorlage nach Ihren Wünschen konfiguriert haben, geben Sie ihr einen Namen und speichern Sie sie.
- Vorlage ausstellen: Die neue Vorlage ist nun verfügbar, muss aber erst ausgestellt werden, bevor sie verwendet werden kann. Klicken Sie in der Konsole der Zertifizierungsstelle (certsrv.msc) mit der rechten Maustaste auf „Zertifikatvorlagen“, wählen Sie „Neu“, dann „Auszustellende Zertifikatvorlage“ und wählen Sie Ihre neue Vorlage aus.
Wenn Sie mit dieser Vorlage ein Zertifikat anfordern, sollten die Felder „Schlüsselverwendung“ und „Erweiterte Schlüsselverwendung“ entsprechend Ihrer Konfiguration enthalten sein.
Fazit
Nach der Erstellung kann die CSR verwendet werden, um ein SSL-Zertifikat bei einer Zertifizierungsstelle anzufordern. Die Daten der CSR werden von der Zertifizierungsstelle zum Erstellen des Zertifikats verwendet. Dies gewährleistet die Sicherheit Ihrer Website und die sichere Übertragung von Informationen.
Auch wenn die Verfahren und Protokolle kompliziert erscheinen, ist die Verwendung eines SSL-Zertifikats zur Sicherung Ihrer Website unerlässlich, um das Vertrauen der Besucher zu gewinnen und wichtige Informationen zu schützen. Eine CSR ist unerlässlich, um sicherzustellen, dass Ihr SSL-Zertifikat die richtigen Daten enthält.
