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
Better-Scroll-Bildlaufprinzip Als übergeordneter ...
Wirkung: CSS-Stil: <style type="text/css&...
1. HTML-Übersicht 1.HTML: Hypertext Markup Langua...
Inhaltsverzeichnis Mehrere MySQL-Instanzen Übersi...
Die Pfeilfunktion ist eine neue Funktion in ES6. ...
Inhaltsverzeichnis 1. MySQL-Zeittyp 2. Überprüfen...
Inhaltsverzeichnis Vorwort einführen 1. Wirkungsm...
Vorwort Im Falle eines Primärschlüsselkonflikts o...
Code und Beispiele direkt posten #Schreiben Sie K...
Verständnis von Umfragen Tatsächlich liegt der Sc...
1. Fehler beim Verbinden mit Master 'x@xxxx:x...
Inhaltsverzeichnis einführen Installation und Ver...
Inhaltsverzeichnis In JavaScript gibt es mehrere ...
Finden Sie das Problem Ich habe vor Kurzem Django...
Inhaltsverzeichnis 1. Selbstaufzählbare Eigenscha...