Selbstsignierte SSL-Zertifikate sind selbstsignierte Zertifikate, die hauptsächlich in der Entwicklung auf unserem lokalen Computer oder unserem Remote-Server verwendet werden, wenn kein Zertifikat von einer externen Zertifizierungsstelle verfügbar ist.
Diese selbstsignierten Zertifikate werden insbesondere selten für die Produktion verwendet, da sie keine ausreichende Zuverlässigkeit garantieren, da sie nicht von einer Zertifizierungsstelle verifiziert werden.
Wenn Sie andererseits daran interessiert sind, ein kostenloses SSL-Zertifikat zu erhalten, das von einer externen Zertifizierungsstelle ausgestellt wurde, können Sie unserer Anleitung zum Sichern von Apache mit Let's Encrypt und Ubuntu 18.04 folgen.
Verbinden Sie sich zunächst über eine SSH-Verbindung mit Ihrem Server. Wenn Sie dies noch nicht getan haben, wird empfohlen, unseren Leitfaden zu befolgen, um sich sicher mit SSH zu verbinden. Im Falle eines lokalen Servers gehen Sie zum nächsten Schritt und öffnen Sie das Terminal Ihres Servers.
Erstellen eines privaten Schlüssels
Erstellen Sie zunächst einen privaten Schlüssel, um Ihr öffentliches Zertifikat zu erstellen.
Um einen privaten Schlüssel zu erstellen, verwenden Sie den OpenSSL-Client:
$ sudo openssl genrsa -aes128 -out private.key 2048
NB. Dieser Befehl wird verwendet, um die Erstellung eines privaten Schlüssels mit einer Länge von 2048 Bit festzulegen, der in der Datei private.key gespeichert wird.
Generating RSA private key, 2048 bit long modulus
....+++
...................+++
e is 65537 (0x010001)
Enter pass phrase for privata.key:
Verifying - Enter pass phrase for private.key:
Sie werden aufgefordert, den Schlüssel mit einem Passwort zu schützen.
Certificate Signing Request (CSR) erstellen
Erstellen Sie nach dem Generieren Ihres privaten Schlüssels eine Zertifikatsignierungsanforderung (CSR), die die Details für das Zertifikat angibt.
$ sudo openssl req -new -days 365 -key private.key -out request.csr
OpenSSL fordert Sie auf, die Zertifikatsinformationen anzugeben, die auf diese Weise ausgefüllt werden müssen:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Lazio
Locality Name (eg, city) []: Rome
Organization Name (eg, company) [Internet Widgits Pty Ltd]: My Society
Organizational Unit Name (eg, section) []: Security
Common Name (e.g. server FQDN or YOUR name) []: example.it
Email Address []: [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: An optional company name []:
Sie werden aufgefordert, den Zertifikatsantrag mit einem Passwort zu schützen.
Die Datei request.csr mit allen eingetragenen nützlichen Informationen wird für die Generierung des Zertifikats erstellt .
Generieren des SSL-Zertifikats
Fahren Sie an dieser Stelle mit der Generierung des Zertifikats fort:
$ sudo openssl x509 -in request.csr -out certificate.crt -req -signkey private.key -days 365
Wo :
geben Sie für den Parameter -in die Zertifikatsignieranforderung an
geben Sie für den Parameter -out den Namen der Datei an, die das Zertifikat enthalten soll
geben Sie für den Parameter -signkey Ihren privaten Schlüssel an
beim Parameter -days geben Sie die Anzahl der Gültigkeitstage des zu erstellenden Zertifikats an
Geben Sie das Passwort von private.key ein.
Wenn der Erstellungsvorgang korrekt durchgeführt wurde, wird dieser Schriftzug auf dem Bildschirm angezeigt:
Signature ok
gefolgt von den oben angegebenen Zertifikatsdetails.
Schließlich ist die Datei certificate.crt bereit, auf verschiedene Arten verwendet zu werden, beispielsweise um die Verbindung zu einem Webserver zu schützen.