GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen eines selbstsignierten SSL-Zertifikats

In diesem Artikel wird erläutert, wie Sie mithilfe von openssl ein selbstsigniertes SSL-Zertifikat erstellen Werkzeug.

Was ist ein selbstsigniertes SSL-Zertifikat? #

Ein selbstsigniertes SSL-Zertifikat ist ein Zertifikat, das von der Person signiert wurde, die es erstellt hat, und nicht von einer vertrauenswürdigen Zertifizierungsstelle. Selbstsignierte Zertifikate können die gleiche Verschlüsselungsstufe haben wie das vertrauenswürdige CA-signierte SSL-Zertifikat.

Webbrowser erkennen die selbstsignierten Zertifikate nicht als gültig an. Bei Verwendung eines selbstsignierten Zertifikats zeigt der Webbrowser dem Besucher eine Warnung an, dass das Website-Zertifikat nicht verifiziert werden kann.

In der Regel werden die selbstsignierten Zertifikate zu Testzwecken oder zur internen Verwendung verwendet. Sie sollten kein selbstsigniertes Zertifikat in Produktionssystemen verwenden, die dem Internet ausgesetzt sind.

Voraussetzungen #

Das OpenSSL-Toolkit ist erforderlich, um ein selbstsigniertes Zertifikat zu generieren.

Um zu prüfen, ob die openssl Paket auf Ihrem Linux-System installiert ist, öffnen Sie Ihr Terminal, geben Sie openssl version ein , und drücken Sie die Eingabetaste. Wenn das Paket installiert ist, druckt das System die OpenSSL-Version, andernfalls sehen Sie so etwas wie openssl command not found .

Wenn das Paket openssl nicht auf Ihrem System installiert ist, können Sie es mit dem Paketmanager Ihrer Distribution installieren:

  • Ubuntu und Debian

    sudo apt install openssl
  • Centos und Fedora

    sudo yum install openssl

Selbstsigniertes SSL-Zertifikat erstellen #

Um ein neues selbstsigniertes SSL-Zertifikat zu erstellen, verwenden Sie openssl req Befehl:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key

Lassen Sie uns den Befehl aufschlüsseln und verstehen, was jede Option bedeutet:

  • -newkey rsa:4096 - Erstellt eine neue Zertifikatsanforderung und einen 4096-Bit-RSA-Schlüssel. Der Standardwert ist 2048 Bit.
  • -x509 - Erstellt ein X.509-Zertifikat.
  • -sha256 - Verwenden Sie 265-Bit-SHA (Secure Hash Algorithm).
  • -days 3650 - Die Anzahl der Tage, für die das Zertifikat zertifiziert werden soll. 3650 sind zehn Jahre. Sie können jede positive Ganzzahl verwenden.
  • -nodes - Erstellt einen Schlüssel ohne Passphrase.
  • -out example.crt - Gibt den Dateinamen an, in den das neu erstellte Zertifikat geschrieben werden soll. Sie können einen beliebigen Dateinamen angeben.
  • -keyout example.key - Gibt den Dateinamen an, in den der neu erstellte private Schlüssel geschrieben werden soll. Sie können einen beliebigen Dateinamen angeben.

Weitere Informationen zu openssl req Befehlsoptionen finden Sie auf der OpenSSL req-Dokumentationsseite.

Sobald Sie die Eingabetaste drücken, generiert der Befehl den privaten Schlüssel und stellt Ihnen eine Reihe von Fragen. Die von Ihnen bereitgestellten Informationen werden zum Generieren des Zertifikats verwendet.

Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
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.
-----

Geben Sie die angeforderten Informationen ein und drücken Sie Enter .

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]

Das Zertifikat und der private Schlüssel werden am angegebenen Ort erstellt. Verwenden Sie den Befehl ls, um zu überprüfen, ob die Dateien erstellt wurden:

ls
example.crt example.key

Das ist es! Sie haben ein neues selbstsigniertes SSL-Zertifikat generiert.

Es ist immer eine gute Idee, Ihr neues Zertifikat und Ihren neuen Schlüssel auf einem externen Speicher zu sichern.

Erstellen eines selbstsignierten SSL-Zertifikats ohne Eingabeaufforderung #

Wenn Sie ein selbstsigniertes SSL-Zertifikat generieren möchten, ohne zu Fragen aufgefordert zu werden, verwenden Sie den -subj Option und geben Sie alle Betreffinformationen an:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key \
            -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----

Die in -subj angegebenen Felder Zeile sind unten aufgeführt:

  • C= - Ländername. Die aus zwei Buchstaben bestehende ISO-Abkürzung.
  • ST= - Name des Staates oder der Provinz.
  • L= - Ortsname. Der Name der Stadt, in der Sie sich befinden.
  • O= - Der vollständige Name Ihrer Organisation.
  • OU= - Organisationseinheit.
  • CN= - Der vollständig qualifizierte Domänenname.

Schlussfolgerung #

In dieser Anleitung haben wir Ihnen gezeigt, wie Sie mit dem openssl-Tool ein selbstsigniertes SSL-Zertifikat generieren. Nachdem Sie nun über das Zertifikat verfügen, können Sie Ihre Anwendung für die Verwendung konfigurieren.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.


Linux
  1. So installieren Sie ein selbstsigniertes SSL-Zertifikat in cPanel

  2. Was ist ein SSL-Zertifikat?

  3. Installieren Sie ein SSL-Zertifikat

  4. Erwerben oder erneuern Sie ein SSL-Zertifikat

  5. Überprüfen Sie das Remote-Zertifikat - MySQL

So erstellen Sie ein selbstsigniertes SSL-Zertifikat für Nginx unter Ubuntu 18.04

So generieren Sie selbstsignierte SSL-Zertifikate mit OpenSSL

SSL-Checker-Tool

So erstellen Sie ein lokales selbstsigniertes SSL-Zertifikat unter CentOS 8

So überprüfen Sie das SSL-Ablaufdatum auf Plesk

Wie kann ich ein selbstsigniertes cPanel/WHM-Zertifikat zurücksetzen/erneuern?