Ich versuche, die gegenseitige Zertifikatsauthentifizierung zu implementieren, ich muss gleichzeitig die Zertifizierungsstelle und der Server sein, Zertifikate generieren und sie für Benutzer signieren. und ich folge diesem Tutorial, das im Vergleich zu den komplizierten Artikeln im Web sehr einfach ist. Die Schritte sind:
Der Prozess zum Erstellen Ihrer eigenen Zertifizierungsstelle ist ziemlich einfach:
- Erstellen Sie einen privaten Schlüssel
- Selbstsignierung
- Installieren Sie die Root-CA auf Ihren verschiedenen Workstations // ????
Sobald Sie dies getan haben, muss für jedes Gerät, das Sie über HTTPS verwalten, nur noch ein eigenes Zertifikat mit den folgenden Schritten erstellt werden:
- CSR für Gerät erstellen
- CSR mit Root-CA-Schlüssel signieren /// DIESEN SCHRITT
Erstellen Sie den Stammschlüssel:
openssl genrsa -out rootCA.key 2048
dieses Zertifikat selbst signieren.
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
Erstellen Sie ein Zertifikat (einmal pro Gerät):
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
Der letzte Befehl gibt mir diesen Fehler:
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108
Error opening CA Certificate root.pem
3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r')
3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
unable to load certificate
Die root.pem existiert im selben Ordner, warum wird sie nicht gesehen?
Außerdem gaben mir die ersten beiden Befehle zwei Dateien, root.key
und root.pem
:
es gibt kein crt
Datei zum Übergeben an den Browser .
Was ist los?
Akzeptierte Antwort:
Überprüfen Sie den Namen Ihres Zertifikats. Es ist inkonsistent (root.pem
in einem Befehl, rootCA.pem
in einem anderen).
Sie können die root.pem
installieren Datei auf Ihren Client-Hosts, wie im Artikel angegeben, handelt es sich um Ihr CA-Zertifikat. PEM
ist ein Format für Zertifikate, andere existieren. .crt
ist eine generische Erweiterung. Sie können Ihr Zertifikat von root.pem
umbenennen zu root.crt
wenn Sie möchten.