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