Generieren einer Zertifikatskette Verwenden Sie das Skript, um ein Stammzertifikat, ein Zwischenzertifikat und drei Client-Zertifikate zu generieren. 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/ Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Das WeChat-Applet implementiert einen einfachen Rechner
>>: Detaillierte Erklärung der Rolle des Schlüssels in React
Inhaltsverzeichnis Private Klassenfelder in JavaS...
Vorwort Heute habe ich das Erzeugungsmuster im En...
Inhaltsverzeichnis Vorwort MySQL-Fall mit Syntax:...
Die MySQL Master-Slave-Replikation ermöglicht die...
In der Front-End-Entwicklung gibt es viele Möglic...
AWS – Amazons Cloud-Computing-Serviceplattform Ic...
In diesem Artikel wird der spezifische Code zur I...
Docker nimmt viel Platz ein. Immer wenn wir Conta...
In diesem Artikel wird der spezifische Code für d...
Inhaltsverzeichnis Aktualisieren Sie das Bild von...
Das „nofollow“-Tag wurde vor einigen Jahren von G...
Für Linux-Systemadministratoren ist es von entsch...
Grundlegende SQL-Anweisungen MySQL-Abfrageanweisu...
Was ist ein Ansichtsfenster? Mobile Browser platz...
Eine Mehrfachauswahl ist ein Benutzeroberflächene...