Die beiden benötigten Dateien sind ein PEM-codiertes SSL-Zertifikat und ein privater Schlüssel. PEM-codierte Zertifikate und Schlüssel sind Base64-codierter Text mit Start- / Endbegrenzern, die ähnlich -----BEGIN RSA PRIVATE KEY-----
oder ähnlich aussehen .
Um ein SSL-Zertifikat zu erstellen, müssen Sie zuerst einen privaten Schlüssel und eine Zertifikatsignierungsanforderung oder CSR (die auch Ihren öffentlichen Schlüssel enthält) generieren. Sie können dies auf verschiedene Arten tun, aber hier ist, wie in OpenSSL.
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
Dies führt dazu, dass Sie eine interaktive Eingabeaufforderung eingeben, um einen privaten 2048-Bit-RSA-Schlüssel und einen CSR zu generieren, der alle Informationen enthält, die Sie bei den Eingabeaufforderungen eingeben. ( Hinweis: Unter Common Name möchten Sie den Domainnamen eingeben, mit dem Sie auf Ihre Site zugreifen. ) Sobald Sie dies getan haben, senden Sie diese CSR normalerweise an eine vertrauenswürdige Zertifizierungsstelle und sobald diese validiert ist Ihre Anfrage würden Sie ein Zertifikat erhalten.
Wenn Sie nicht möchten, dass Ihr Zertifikat vertrauenswürdig ist (normalerweise zu Entwicklungszwecken), können Sie einfach ein selbstsigniertes Zertifikat erstellen. Dazu können wir fast dieselbe Zeile verwenden, aber wir werden zwei zusätzliche Parameter übergeben.
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
Dadurch erhalten Sie ein Zertifikat (gültig für 10 Jahre) und ein Schlüsselpaar, die Sie in dem von Ihnen veröffentlichten Codefragment verwenden können.
Folgen Sie einfach diesem Verfahren:
Erstellen Sie den Ordner, in dem Sie Ihren Schlüssel und Ihr Zertifikat speichern möchten:
mkdir conf
gehe in dieses Verzeichnis:
cd conf
Holen Sie sich diese
ca.cnf
Datei, um sie als Konfigurationsverknüpfung zu verwenden:wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf
Erstellen Sie mit dieser Konfiguration eine neue Zertifizierungsstelle:
openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem
Nachdem wir unsere Zertifizierungsstelle in
ca-key.pem
und habenca-cert.pem
, generieren wir einen privaten Schlüssel für den Server:openssl genrsa -out key.pem 4096
Holen Sie sich diese
server.cnf
Datei, um sie als Konfigurationsverknüpfung zu verwenden:wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf
Generieren Sie die Zertifikatsignierungsanforderung mit dieser Konfiguration:
openssl req -new -config server.cnf -key key.pem -out csr.pem
Unterschreiben Sie die Anfrage:
openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem
Ich habe dieses Verfahren hier zusammen mit weiteren Informationen zur Verwendung dieser Zertifikate gefunden.
quelle