Benutzer-Werkzeuge

Webseiten-Werkzeuge


hackerspace: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)

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)

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

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.

hackerspace/padlock.txt · Zuletzt geändert: 23.10.2019 22:28 von Nils Schneider