====== 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 [[hackspace:infrastruktur:mailinglisten|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 [[https://stackoverflow.com/questions/71872900/installing-pcks12-certificate-in-android-wrong-password-bug|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 ~/. -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 {{:infrastruktur:service:padlock_ipad1.jpeg?400|}} und es ist dann in den Einstellungen links als erster Eintrag (über Flugmodus) im Menü. {{:infrastruktur:service:padlock_ipad2.jpeg?400|}} 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 == - ''*.p12''-Zertifikat auf die SD-Karte des Smartphones ablegen. - Im Smartphone: ''Einstellungen'' → ''Sicherheit'' → ''Von SD-Karte installieren'' - Das Zertifikat im Dateisystem suchen und auswählen. - Passwort eingeben. - 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 {{ :hackspace:infrastruktur:tuerstatus.drawio.png?400 |}} (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 ====== [[https://f-droid.org/en/packages/ch.rmy.android.http_shortcuts/| HTTP Request Shortcuts Bei Fdroid]] - Lade dein Zertifikat in den Android Certificate Store - Lade dir dieses Shortcut Template runter {{ :intern:shortcuts.zip | shortcuts.zip}} - {{ :intern:screenshot_20221019-212239_http_shortcuts.png?direct&200 |}} - {{ :intern:screenshot_20221019-212320_http_shortcuts.png?direct&200 |}} - {{ :intern:screenshot_20221019-212354_http_shortcuts.png?nolink&200 |}} - Beide importierten Befehle müssen nochmal bearbeitet werden, um dein Zertifikat aus dem Gerätespeicher mit dem jeweiligen Befehl zu verknüpfen - Fertig :D ====Datenschutz==== Informationen über die im System anfallenden Daten und den Umgang mit ggf. existierenden Persönlichen Daten findest du in der [[https://chaotikum.org/datenschutzerk/|Datenschutzerklärung des Chaotikum e.V.]]. ==== Administration ==== Die Doku zu Administration findet sich [[infrastruktur:host:padlock|hier]]. Dort kann nachgelesen werden, wer aktuell die Administration macht. Dieser Mensch ist auch Ansprechpartner.