Benutzer-Werkzeuge

Webseiten-Werkzeuge


hackspace:infrastruktur:padlock

Türschloss

Es ist möglich die Tür unten am Hackerspace digital zu öffnen. Dafür benötigt man einen vom Keymaster signierten Key. Um diesen zu erhalten muss man dem Keymaster ein Certificate Signing Request schicken. Im Folgenden ist beschrieben, wie man das tut.

Einen Schlüssel generieren

CSR

Generieren des CSRs:

openssl req -nodes -new -newkey rsa:4096 -sha256 -out mein.csr

Bittet achtet darauf sinnvolle Daten (CommonName und Email Adresse) einzugeben. Insbesondere der CommonName muss gesetzt werden!

Bei Email im CSR ist eine dem Vorstand bekannte (deine chaotikum-Mail Adresse oder die, die du beim anmelden im Verein angegeben hast) oder einfach nachvollziehbare E-Mail-Adresse zu verwenden (Sie gilt als einfach nachvollziehbar, wenn dein tatsächlicher Name darin erkennbar ist).

Mit Ausführen des Befehls wird die Datei privkey.pem und mein.csr erzeugt. Letztere muss man von unsere(m|n) Schlüsselmeister Keymaster, den/die ihr über die Mailingliste keymaster@ erreicht, signieren lassen um ein Zertifikat zu erhalten (also ihm diese Datei per mail schicken und warten bis man ne crt erhält). Die andere behält man für sich.

P12 Datei erstellen

Mit der crt Datei baut man sich nun eine p12 Datei. Man kann dabei auf das geforderte Passwort verzichten (Obacht: Das leere Passwort funktioniert nicht mit Mac-Keychain)

openssl pkcs12 -export -inkey privkey.pem -in myName.crt -out myName.p12

(tut unter mac os und linux, windows noch nicht getestet)

Ein modernes Android, ein iOS 17 und ein macOS 14 kommen dabei mit einer modernen p12-Datei nicht klar. Siehe Installing pcks12 certificate in android "wrong password" bug. Bei mir wurde das Password zwar richtig erkannt, aber dann wurde das Zertifikat ewig entpackt. Der Legacy-Mode hat trotzdem geholfen:

openssl pkcs12 -export -legacy -inkey privkey.pem -in myName.crt -out myName.p12

Das P12 in den browser importieren

Firefox

pk12util -d ~/.<Pfad zu deinem Firefox Profil> -i jonny.p12

Safari

Funktioniert wenn man es in den Apple-Keychain einrichtet. Wenn es nicht automatisch klappt, muss man unter Schlüssel das Zertifikat auswählen, rechtsklick → neue Identitätseinstellungen → Als url https://padlock.nobreakspace.org eingeben.

(insbesondere wenn da noch andere Zertifikate rumlungern)

iPhone/iPad

Auf dem iPhone/iPad lässt sich die p12 Datei als Profil installieren. Dazu sollte es möglich sein, die p12 aus der iCloud o.Ä. zu öffnen, ein anderer – hier gewählter Weg ist Airdrop. Dann taucht ein Hinweis aus, dass das Profil vorhanden sei

und es ist dann in den Einstellungen links als erster Eintrag (über Flugmodus) im Menü.

Hier klickt man nun auf Installieren. Dann bekommt man den Warnhinweis, das Profil sei nicht signiert und wird noch nach seinem Passwort gefragt, dass man oben im p12-Export festgelegt hat.

Danach kann man das Profil unter Allgemein → VPN und Geräteverwaltung in der Liste der Konfigurationsprofile sehen. Danach wird es vom Safari verwendet-

Chrome

Apple

Geht wie bei Safari auch einfach über Keychain

Android
  1. *.p12-Zertifikat auf die SD-Karte des Smartphones ablegen.
  2. Im Smartphone: EinstellungenSicherheitVon SD-Karte installieren
  3. Das Zertifikat im Dateisystem suchen und auswählen.
  4. Passwort eingeben.
  5. Fertig.

Firefox Android

Ihr müsst adb installiert haben und root Access auf euren Smartphone haben.

$ adb root
$ mkdir p12_import && cd p12_import
$ adb pull /data/data/org.mozilla.firefox/files/mozilla/%%%/key4.db
$ adb pull /data/data/org.mozilla.firefox/files/mozilla/%%%/cert9.db
$ pk12util -i /path/to/cert.p12 -d sql:/path/to/p12_import/
$ adb push key4.db /data/data/org.mozilla.firefox/files/mozilla/%%%/
$ adb push cert9.db /data/data/org.mozilla.firefox/files/mozilla/%%%/
$ adb shell
> cd /data/data/org.mozilla.firefox/files/mozilla/%%%/
> chown $$$:$$$ cert9.db
> chown $$$:$$$ key4.db
> chmod 600 cert9.db
> chmod 600 key4.db
> exit
$ adb reboot

Falls ihr die Variante von Firefox aus dem F-Droid Repository habt dann heißt das Verzeichnis org.mozilla.fennec_fdroid

Woanders

Noch nicht gemacht. Wenn ja, bitte hier hinschreiben.

Schließsystem auf padlock

Das Schließsystem ist über https://padlock.nobreakspace.org zugänglich.

API

Das Webfrontend nutzt intern eine JSOΝ API, die man auch mittels curl bedienen kann. Es besteht also die Möglichkeit das Zertifikat + Key auf einen vertrauensvollen Rechner zu hinterlegen und dort per SSH die entsprechende Befehle auszulösen.

Die Doku dazu befindet sich hier: https://github.com/Chaotikum/padlock

Die API ist auf padlock unter https://padlock.nobreakspace.org/api zuerreichen. Eine Beispiel-URL sieht dann so aus:

https://padlock.nobreakspace.org/api/locks

Die Padlock-Py liegt unter /home/door/padlock

(Diese Grafik ist wohl veraltet, der türstatus-dienst existiert ggf eher nicht)

Konfiguration

Die CA für padlock liegt in /root/padlock-ca (easy-rsa). Wenn ein Key revoked wurde, muss nginx neugestartet werden (systemctl restart nginx).hmland.service stellt den Zugang zum Homematic USB Modul bereit, padlock.service ist das Webinterface. Der nginx ist ein Reverseproxy, der Zertifikate prüft.

Status

Erreichbar unter: http://status.nobreakspace.org oder http://nobreakspace.org/status

Source ist hier: https://github.com/Chaotikum/nbspstatus

Installiert ist das auf case in einer VM.

Oo

Mai 2025 geht übrigens plötzlich alles kaputt. Denn dann laufen die Zertifikate aus. Diese Sätze stehen einfach nur hier damit das gelegentlich jemand ließt.

Padlock mit HTTP Request Shortcuts App

HTTP Request Shortcuts Bei Fdroid

  1. Lade dein Zertifikat in den Android Certificate Store
  2. Lade dir dieses Shortcut Template runter shortcuts.zip
  3. Beide importierten Befehle müssen nochmal bearbeitet werden, um dein Zertifikat aus dem Gerätespeicher mit dem jeweiligen Befehl zu verknüpfen
  4. Fertig :D

Datenschutz

Informationen über die im System anfallenden Daten und den Umgang mit ggf. existierenden Persönlichen Daten findest du in der Datenschutzerklärung des Chaotikum e.V..

Administration

Die Doku zu Administration findet sich hier. Dort kann nachgelesen werden, wer aktuell die Administration macht. Dieser Mensch ist auch Ansprechpartner.

hackspace/infrastruktur/padlock.txt · Zuletzt geändert: 28.12.2023 13:47 von Max