Ich bin gerade dabei, meinen Raspberry Pi für's SmartHome vorzubereiten und möchte den Zugriff auf den Raspi mit Reverse Proxy und Client-Zertifikaten absichern.
Hierbei habe ich mich an diese Anleitung (ich vermute von psilo) gehalten. Hier wird alles haarklein erklärt, aber leider klappt es bei mir trotzdem nicht mit den Zertifikat.
Wenn ich im nächste Schrittchen in der Datei /etc/nginx/sites-available/xxx.myfritz.net.conf diese Prüfung aktiviere, kommt wie erwartet 403 Forbidden. Habe ja auch noch kein Client-Zertifikat.
Folge ich nun in der oben erwähnten Anleitung den Schritten unter "Client Zertifikate erstellen (optional)" und "Client Zertifikate in NGINX nutzen (optional)" scheint soweit erstmal alles zu funktionieren. Also rüber mit der .p12-Datei auf meine Clients (ubuntu oder Mac, firefox oder Chrome).
Aufruf meiner url und es erscheint z.B. im Firefox auf ubuntu wie erwartet:
400 Bad Request
No required SSL certificate was sent
Wenn ich nun die .p12-Datei im Firefox importiere, Firefox neu starte und die Site aufrufe, erscheint ein "User Identification Request", den ich bestätige.
Screenshot.jpgScreenshot1.jpg
Nun erscheint leider die Meldung:
400 Bad Request
The SSL certificate error
Habe leider keine Idee, wonach ich suchen muss, um das Problem zu beheben. Vielleicht kann jemand mit Ideen helfen...
Hier mal die Ausgabe von
- weiß nicht, ob das evtl. hilft:
Hierbei habe ich mich an diese Anleitung (ich vermute von psilo) gehalten. Hier wird alles haarklein erklärt, aber leider klappt es bei mir trotzdem nicht mit den Zertifikat.
- Raspberry mit Raspbian GNU/Linux 9.6 (stretch)
- nginx 1.14.1 (Vorher 1.10)
- OpenSSL 1.1.1a
- Fritzbox per IP4 über myfritz.net-DNS-Name von außen erreichbar
- Let’s Encrypt Server-Zertifikate geholt und nginx entsprechend konfiguriert
- node.js hello-World-App auf Port 3000 laufend
Wenn ich im nächste Schrittchen in der Datei /etc/nginx/sites-available/xxx.myfritz.net.conf diese Prüfung aktiviere, kommt wie erwartet 403 Forbidden. Habe ja auch noch kein Client-Zertifikat.
Code:
# Clientzertifikat gültig? if ($ssl_client_verify != SUCCESS) { return 403; }
Aufruf meiner url und es erscheint z.B. im Firefox auf ubuntu wie erwartet:
400 Bad Request
No required SSL certificate was sent
Wenn ich nun die .p12-Datei im Firefox importiere, Firefox neu starte und die Site aufrufe, erscheint ein "User Identification Request", den ich bestätige.
Screenshot.jpgScreenshot1.jpg
Nun erscheint leider die Meldung:
400 Bad Request
The SSL certificate error
Habe leider keine Idee, wonach ich suchen muss, um das Problem zu beheben. Vielleicht kann jemand mit Ideen helfen...
Hier mal die Ausgabe von
Code:
openssl pkcs12 -info -in client.p12
Code:
Enter Import Password: MAC: sha1, Iteration 2048 MAC length: 20, salt length: 8 PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 Certificate bag Bag Attributes localKeyID: xx xx xx xx xx 0C 95 3F 24 82 28 05 E3 9B 16 AB 69 CE 9F CC subject=C = DE, ST = Nordrhein-Westfalen, L = x, O = Hajo SmartHome, OU = Client, CN = xxx.myfritz.net, emailAddress = hajoxxx issuer=C = DE, ST = Nordrhein-Westfalen, L = x, O = Hajo SmartHome, OU = Raspi, CN = xxx.myfritz.net, emailAddress = hajoxxx -----BEGIN CERTIFICATE----- MIIEWTCCAkECFH+rIuxh+j+OAmkKknUeW5Bi/NxaMA0GCSqGSIb3DQEBCwUAMIGr [...] i/OSd+OUHxtAHe3PCA== -----END CERTIFICATE----- PKCS7 Data Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048 Bag Attributes localKeyID: 7xx xx xx xx xx 0C 95 3F 24 82 28 05 E3 9B 16 AB 69 CE 9F CC Key Attributes: <No Attributes> Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----BEGIN ENCRYPTED PRIVATE KEY----- MIIC1DBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI2RdYCsK1lqQCAggA [...] /mGA29nVlvA= -----END ENCRYPTED PRIVATE KEY----- pi@raspberrypi:~ $
Kommentar