Page tree
Skip to end of metadata
Go to start of metadata
Inhalt

Über diese Seite

Hier wird das signieren unserer Firmware beschrieben. Es ist also eine Anleitung für die Administratoren und wird für die Nutzung von Freifunk selbst nicht benötigt.

Hintergrundwissen

  • Konfiguration beim Freifunk Münsterland für good_signatures im stable: 2 (=Kein Admin kann alleine handeln)
  • Die Platzhalten <secretDatei> muss im Script durch den Dateinamen mit dem Secret-Schlüssel ersetzt werden.
    Niemals das Secret selbst im Klartext eingeben um einen leak per bash-history etc. zu verhindern.
  • Den Platzhalter <public> im Script muss durch den persönliche Public-Schlüssel ersetzt werden.
  • Das Script muss als root ausgeführt werden. Ursache unbekannt. Als User hat es bei mir nicht funktioniert.

Voraussetzungen

Ablauf

Vorbereitung (Einmalig)

ECDSAutils bereitstellen

Vorbereitung (jedes Mal)

  • Prüfen ob die Änderungen für das aktuelle Release verständlich / nachvollziehbar sind. Neue Versionen nicht ungeprüft signieren. Siehe auch "Regelwerk" der Adminvereinbarung.

Durchführung

  • Mounten des Ordners auf dem Firmware-Server
    • sshfs -p 223 root@firmware.ffmsl.de:/var/www/html/ remotefiles
  • Signieren der einzelnen Dateien
    • sign.sh <secretDatei> remotefiles/domaene07/versions/v4.1.0/sysupgrade/stable.manifest
      Hier natürlich den Pfad auf die Manifest-Datei ändern, die signiert werden soll
  • Testen ob richtig signiert wurde
    • sigtest.sh <public> remotefiles/domaene07/versions/v4.1.0/sysupgrade/stable.manifest
    • echo $?
      --> 0 bedeutet gültig
      --> Nicht 0 bedeutet ungültig

Nacharbeiten

  • Den Remote-Ordner wieder entmounten
    • fusermount -u remotefiles

Tipp

Das Script https://raw.githubusercontent.com/FreiFunkMuenster/tools/master/signieren.sh automatisiert die Signierung nach diesem Prinzip für mehrere Domänen/Branches/Versionen gleichzeitig

  • No labels