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
Inhaltsverzeichnis Vorwort Sechs Funktionen von J...
Geben Sie den laufenden Container ein # Geben Sie...
Update: Jetzt können Sie auf die offizielle MySQL...
Wenn wir eine Seite erstellen, insbesondere eine ...
Was ich heute teilen möchte, ist die Verwendung v...
Das in diesem Beispiel entwickelte kaskadierende ...
Konfigurieren Sie die Webseitenkomprimierung, um ...
Inhaltsverzeichnis 1. Datenbank-Engpass 2. Unterb...
MySQL-Abfrage-Steueranweisungen Felddeduplizierun...
Der folgende Code stellt die Installationsmethode...
Inhaltsverzeichnis Variablenbereich Das Konzept d...
Holen Sie sich die lokale öffentliche IP-Adresse ...
MySQL ist ein relationales Datenbankverwaltungssy...
Dieser Artikel stellt den CSS-Bildlaufleistensele...
Überblick Da wir die Daten normalerweise nicht di...