Wenn Sie der Meinung sind, dass das Erstellen eines Zertifikats mühsam ist, finden Sie hier das in diesem Artikel erstellte Zertifikat: https://pan.baidu.com/s/1MJ5YmuZiLBnf-DfNR_6D7A (Extraktionscode: c6tj), das Kennwort lautet: 123456 Sie können das Zertifikat herunterladen und anschließend entsprechend der Anleitung zur Nutzung von nginx und IIS im weiteren Text verwenden. Erstellen eines SSL-ZertifikatsOK, erstellen wir zunächst ein leeres Verzeichnis und beginnen mit der Erstellung in diesem leeren Verzeichnis: 1. Privaten Schlüssel generierenFühren Sie den folgenden Befehl aus, um einen privaten Schlüssel zu generieren: sudo openssl genrsa -des3 -out demo.key 1024 # Der Befehl openssl genrsa wird verwendet, um einen privaten RSA-Schlüssel zu generieren, nicht einen öffentlichen Schlüssel, da der öffentliche Schlüssel aus dem privaten Schlüssel extrahiert wird. # -des3 gibt den Algorithmus an, der zum Verschlüsseln der privaten Schlüsseldatei verwendet wird. Sie müssen den Verschlüsselungsalgorithmus nicht angeben (es wird empfohlen, den Verschlüsselungsalgorithmus für Ihre eigenen Tests nicht anzugeben). Optional: -des|-des3|-idea # -out demo.key Speichert den generierten privaten Schlüssel in der angegebenen Datei. # 1024 Gibt die Länge des zu generierenden privaten Schlüssels an (in Bits). Der Standardwert ist 1024. Normalerweise ist es entweder 1024 oder 2048. Während des Generierungsprozesses wirst du aufgefordert, ein Passwort einzugeben. Hier habe ich es getestet und direkt eingegeben: 123456 Hinweis: Der Parameter -des3 des Verschlüsselungsalgorithmus wird im oben generierten demo.key verwendet. Wenn Sie nach der Bereitstellung also einen Neustart durchführen müssen, werden Sie möglicherweise zur Bestätigung aufgefordert, ein Kennwort einzugeben, z. B. wenn Sie nginx -s reload verwenden, was beim eigenen Testen sehr problematisch ist. Es gibt zwei Lösungen: a. Passwort generieren und anschließend löschen Beispielsweise wird oben eine private Schlüsseldatei mit dem Namen demo.key generiert. Sie können sie zurücksetzen, indem Sie den folgenden Befehl ausführen: sudo openssl rsa -in demo.key -out temp.key und sudo rm demo.key und sudo mv temp.key demo.key b. Geben Sie beim Generieren eines privaten Schlüssels nicht den Parameter -des3 an Beispielsweise wird der Befehl zum Generieren von demo.key oben wie folgt geändert: sudo openssl genrsa -out demo.key 1024 2. Generieren Sie eine ZertifikatsanforderungsdateiFühren Sie den folgenden Befehl aus, um eine Zertifikatsanforderungsdatei zu generieren: sudo openssl req -new -key demo.key -out demo.csr # Die Hauptfunktionen des Befehls openssl req bestehen im Generieren einer Zertifikatsanforderungsdatei, im Anzeigen und Überprüfen der Zertifikatsanforderungsdatei und im Generieren eines selbstsignierten Zertifikats. # -new Beschreibung Generieren Sie eine Zertifikatsanforderungsdatei. # -key demo.key Gibt eine vorhandene Schlüsseldatei zum Generieren einer Schlüsselanforderung an, die nur mit der Option -new zum Generieren einer Zertifikatsanforderung verwendet wird. # -out demo.csr gibt den Namen der generierten Zertifikatsanforderung oder des selbstsignierten Zertifikats an Nachdem der Befehl ausgeführt wurde, werden Sie aufgefordert, einige Zertifikatsinformationen einzugeben. Einzelheiten entnehmen Sie bitte der folgenden Abbildung: 3. Generieren Sie eine CRT-ZertifikatdateiFühren Sie den folgenden Befehl aus, um die Zertifikatsdatei zu generieren: sudo openssl x509 -req -days 36500 -in demo.csr -signkey demo.key -out demo.crt # Der Befehl openssl x509 wird hauptsächlich verwendet, um Zertifikatsinformationen auszugeben, Zertifikatsanforderungsdateien zu signieren, selbstsignierte Zertifikate zu generieren, Zertifikatsformate zu konvertieren usw. # -req gibt an, dass die folgende Eingabe eine Zertifikatsanforderungsdatei ist. # -days 36500 Die Gültigkeitsdauer des Zertifikats wird in Tagen angegeben (wir sehen uns in hundert Jahren). # -in demo.csr gibt die Eingabedatei an# -signkey demo.key Signaturzertifikatschlüssel# -out demo.crt gibt die Ausgabedatei des Zertifikats an Wenn die Eingabeaufforderung etwa wie folgt aussieht, war die Generierung erfolgreich: 4. Generieren Sie ein PFX-ZertifikatinstallationspaketFühren Sie den folgenden Befehl aus, um die Installationspaketdatei zu generieren: sudo openssl pkcs12 -export -inkey demo.key -in demo.crt -out demo.pfx # Der Befehl openssl pkcs12 wird zum Generieren und Analysieren von pkcs12-Dateien verwendet. # -export gibt an, dass eine PKCS#12-Datei erstellt wird. # -inkey demo.key gibt den Speicherort der privaten Schlüsseldatei an. Wenn nicht angegeben, muss der private Schlüssel in -in Dateiname angegeben werden. # -in demo.crt gibt die Datei an, aus der der private Schlüssel und das Zertifikat gelesen werden. # -out demo.pfx gibt die Ausgabedatei pkcs12 an. Nach der Ausführung des Befehls geben Sie das Passwort ein. Hier gebe ich dasselbe ein: 123456 An diesem Punkt ist das Zertifikat vollständig und wir erhalten 4 Dateien: demo.crt: CRT-Zertifikatsdatei, die bei der Konfiguration von Nginx verwendet werden kann. demo.csr: CRT-Zertifikatsanforderungsdatei, die derzeit im Grunde nutzlos ist. demo.key: privater Schlüssel, der bei der Konfiguration von Nginx verwendet werden kann. demo.pfx: Zertifikatsinstallationspaket, das bei der Bereitstellung von IIS verwendet werden kann. Nginx-Konfiguration mit ZertifikatErstellen Sie eine Nginx-Konfigurationsdatei: Server { hören Sie 4430 SSL; hören Sie [::]:4430 ssl; SSL aktiviert; ssl_certificate /home/feng/ssl/demo.crt; #CRT-Zertifikatdatei ssl_certificate_key /home/feng/ssl/demo.key; #private Schlüsseldatei ssl_session_timeout 5m; SSL-Protokolle SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALLE:!ADH:!EXPORT56:RC4+RSA:+HOCH:+MITTEL:+NIEDRIG:+SSLv2:+EXP; ssl_prefer_server_ciphers ein; Wurzel /var/www/html; index index.html index.htm index.nginx-debian.html; Servername _; Standort / { versuche_dateien $uri $uri/ =404; } } Beachten Sie, dass ich hier zur Unterscheidung nicht den Standardport 443 verwendet habe, sondern Port 4430 Verwenden Sie dann nginx -t zur Überprüfung und nginx -s reload zum Neuladen. Verwenden Sie dann den Browser, um auf 4430 zuzugreifen. Der Zugriff ist möglich, aber es wird darauf hingewiesen, dass Risiken bestehen. Schließlich wird das Zertifikat von Ihnen selbst erstellt, wie unten gezeigt: Klicken Sie auf „Erweitert“ => „Risiko akzeptieren“. IIS-Konfiguration mithilfe eines ZertifikatsFür das IIS-Konfigurationszertifikat ist ein PFX-Zertifikatinstallationspaket (demo.pfx) erforderlich. Hier nehmen wir IIS7 als Beispiel: Öffnen Sie IIS und klicken Sie auf der Startseite auf [Serverzertifikat]. Klicken Sie rechts auf [Importieren], wählen Sie die erstellte PFX-Zertifikatdatei aus und geben Sie das beim Erstellen der Datei eingegebene Kennwort ein (das beim Erstellen der PFX-Datei in Schritt 4 oben eingegebene Kennwort lautet hier 123456): Wählen Sie dann die Website aus, zu der Sie den https-Anforderungstyp hinzufügen möchten, klicken Sie in der Operation rechts auf [Binden] und führen Sie dann die folgenden Schritte aus: Starten Sie dann die Site neu und verwenden Sie die https-Anforderung auf dem angegebenen Port Hinweis: Wenn auf Ihrem Computer Tools wie VMware installiert sind, wird an Port 443 möglicherweise eine Fehlermeldung angezeigt, die beispielsweise lautet: „Ein anderes Programm verwendet diese Datei und der Prozess kann nicht darauf zugreifen.“ Lösungsreferenz: https://www.jb51.net/article/109375.htm Im Programm verwendete ZertifikateManchmal müssen wir im Programm auch Zertifikate verwenden. Wenn wir beispielsweise Grpc verwenden, verwenden wir standardmäßig https oder wir möchten nur https-Anfragen verwenden. Dann müssen wir möglicherweise Zertifikate im Programm verwenden, um zu funktionieren. Beispielsweise können wir selbst erstellte Zertifikate in .net core verwenden, um https-Anfrageprojekte zu generieren: Wir erstellen ein .net Core-Webprojekt, verwenden die oben erstellte demo.pfx und ändern Program.cs: öffentliches Klassenprogramm { öffentliche statische void Main(string[] args) { Erstellen Sie einen HostBuilder. } öffentliche statische IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(Argumente) .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureKestrel(Optionen => { Optionen.ListenAnyIP(5000, listenOptions => { listenOptions.UseHttps(@"C:\inetpub\wwwroot\demo.pfx", "123456"); }); }); webBuilder.UseStartup<Startup>(); }); } Nach dem Start können Sie per https den Zugriff anfordern Oben finden Sie Einzelheiten zum Erstellen eines SSL-Zertifikats, das in nginx und IIS verwendet werden kann. Weitere Informationen zum Erstellen von SSL-Zertifikaten finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Fragen zum Vorstellungsgespräch zum MySQL-Datenbankindex (grundlegende Programmierkenntnisse)
>>: Tipps zum Listenaufbau für Website-Wartungsseiten
In diesem Artikel wird der spezifische Code von j...
Jellyka BeesAntike Handschrift [Ank]* Jellyka Cutt...
Normalerweise besteht das Ziel beim Erstellen ein...
Die Installations- und Konfigurationsmethoden von...
Die Testumgebung dieses Experiments: Windows 10+c...
1. Betreten Sie den Container docker run [Option]...
1. Was ist Pip pip ist ein Python-Paketverwaltung...
Verwenden Sie JS, um einen einfachen Rechner für ...
Der spezifische Code zur Implementierung von Skin...
Inhaltsverzeichnis 1. Beobachtbar 2. Funktionen h...
<br />In früheren Tutorials von 123WORDPRESS...
Logo-Optimierung: 1. Das Logobild sollte so klein...
Dynamisches Implementieren eines einfachen sekund...
//Standardprotokoll /Die Verwendung des Standardp...
Das Installationstutorial für MySQL 8.0.11 WinX64...