Generieren einer Zertifikatskette Verwenden Sie das Skript, um ein Stammzertifikat, ein Zwischenzertifikat und drei Client-Zertifikate zu generieren. Das Skript ist abgeleitet von (modifiziert) Der Domänenname des Zwischenzertifikats ist localhost. #!/bin/bash -x setze -e für C in „echo root-ca intermediate“; mkdir $C CD $C mkdir certs crl newcerts privat CD .. echo 1000 > $C/seriell berühren Sie $C/index.txt $C/index.txt.attr Echo ' [ ca ] default_ca = CA_Standard [ CA_Standard ] dir = '$C' # Wo alles aufbewahrt wird certs = $dir/certs # Wo die ausgestellten Zertifikate aufbewahrt werden crl_dir = $dir/crl # Wo die ausgestellten CRLs aufbewahrt werden Datenbank = $dir/index.txt # Datenbankindexdatei. new_certs_dir = $dir/newcerts # Standardspeicherort für neue Zertifikate. certificate = $dir/cacert.pem # Das CA-Zertifikat serial = $dir/serial # Die aktuelle Seriennummer crl = $dir/crl.pem # Die aktuelle CRL private_key = $dir/private/ca.key.pem # Der private Schlüssel RANDFILE = $dir/.rnd # private Zufallszahlendatei nameopt = default_ca certopt = default_ca Richtlinie = Richtlinienübereinstimmung Standardtage = 365 Standardmd = sha256 [ Richtlinienübereinstimmung ] countryName = optional stateOrProvinceName = optional Organisationsname = optional organizationalUnitName = optional commonName = angegeben E-Mail-Adresse = optional [Anforderung] req_extensions = v3_req Distinguished_Name = erforderlicher Distinguished_Name [erforderlicher_Name] [v3_erforderlich] Grundeinschränkungen = CA:TRUE ' > $C/openssl.conf Erledigt openssl genrsa -out root-ca/private/ca.key 2048 openssl req -config root-ca/openssl.conf -new -x509 -days 3650 -key root-ca/private/ca.key -sha256 -extensions v3_req -out root-ca/certs/ca.crt -subj '/CN=Root-ca' openssl genrsa -out Zwischen-/Privat-/Zwischenschlüssel 2048 openssl req -config intermediate/openssl.conf -sha256 -new -key intermediate/private/intermediate.key -out intermediate/certs/intermediate.csr -subj '/CN=localhost.' openssl ca -batch -config root-ca/openssl.conf -keyfile root-ca/private/ca.key -cert root-ca/certs/ca.crt -extensions v3_req -notext -md sha256 -in intermediate/certs/intermediate.csr -out intermediate/certs/intermediate.crt mkdir aus für I in `seq 1 3`; mache openssl req -new -keyout out/$I.key -out out/$I.request -days 365 -nodes -subj "/CN=$I.example.com" -newkey rsa:2048 openssl ca -batch -config root-ca/openssl.conf -keyfile intermediate/private/intermediate.key -cert intermediate/certs/intermediate.crt -out out/$I.crt -infiles out/$I.request Erledigt Server Nginx-Konfiguration Arbeiterprozesse 1; Ereignisse { Arbeiterverbindungen 1024; } Strom{ Upstream-Backend{ Server 127.0.0.1:8080; } Server { hören Sie 8888 SSL; Proxy_Pass-Backend; ssl_zertifikat zwischengeschaltet.crt; ssl_zertifikatsschlüssel Zwischenschlüssel; ssl_überprüfen_tiefe 2; ssl_client_zertifikat root.crt; ssl_verify_client optional_no_ca; } } Kunde Locke \ -ICH \ -vv \ -x https://localhost:8888/ \ --proxy-cert client1.crt \ --proxy-key client1.key \ --proxy-cacert ca.crt \ https://www.baidu.com/ Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: jQuery implementiert die Praxis, die Position und Größe von div durch Ziehen der Maus zu ändern
>>: Zwei Möglichkeiten zum Zurücksetzen des Root-Passworts einer MySQL-Datenbank mit lnmp
Vorwort Kürzlich wurde ich in einem Interview gef...
Wenn Sie sich bei der Verwendung der MySQL-Datenb...
1. Laden Sie die 64-Bit-ZIP-Datei von der offizie...
1. Einführung in Docker 1.1 Virtualisierung 1.1.1...
Einige MySQL-Tabellen können doppelte Datensätze ...
Wie in der Abbildung gezeigt: Aber bei der Anzeig...
1. Formular 1. Die Rolle des Formulars HTML-Formu...
Zum Beispiel: <u> Dies hat kein Endzeichen u...
Inhaltsverzeichnis 1. DOM-Diff 2. Fügen Sie Eleme...
Vorwort Bash verfügt über viele wichtige integrie...
Standardmäßig wird die Konfiguration /etc/default...
In diesem Artikelbeispiel wird der spezifische Co...
Überblick Vorgänge, die auf einer Datenbank ausge...
Inhaltsverzeichnis 1. Zähldaten gehen verloren Lö...
Die in HTML häufig verwendeten Escape-Zeichen wer...