[Frage] WLAN Repeater 1750E modifizieren

... Die Datei wird geladen, in ihre Bestandteile zerlegt, der private Key (wenn er verschlüsselt hochgeladen wurde) entschlüsselt und mit dem Box-Key wieder verschlüsselt, bevor beide Dateien im TFFS gespeichert werden ... fertig.
...
Aber genau danach suche ich. Macht das firmwarecfg in sich geschlossen und alleine (was ich anhand der Größe kaum glaube), oder nutzt es dafür externe Binaries oder zumindest Libraries? Wenn es Binaries oder Libraries sind, wäre das ein möglicher "Anschlusspunkt" für den Import der Zertifikate. Wie ich schon oben gesagt hatte, will ich nach Möglichkeit den Weg über firmwarecfg mit multipart, Session ID etc. ersparen und die Zertifikate an diese Binaries/Libraries "schicken" um diese Ent- und Verschlüsselung vom Key mit den AVM-Mitteln zu erledigen.

MfG
 
Die Argumentation hinsichtlich der Größe kann ich schwer nachvollziehen ... immerhin gibt es bis zur 06.83 (und da ist die Größe der "firmwarecfg" auch nicht wesentlich anders) in "firmwarecfg" sogar noch die Zeichenketten, die man zum Zerlegen der Upload-Datei bräuchte und mit dem "# User Certificate" ist auch noch die Zeichenkette zur Unterscheidung zwischen "selbstgeneriert" und "hochgeladen" vorhanden, die gar keinen Sinn machen würde, wenn das Schreiben nicht von "firmwarecfg" aus erfolgt:
Code:
vidar:/home/FritzBox/FB7490/firmware $ strings 113.06.83/usr/www/cgi-bin/firmwarecfg | grep -C 10 CERTIFICATE
fax_upload_failed.html
firmwarecfg
@SDexclusive_lock
delayed_reboot
/var/tmp/boxcert.import
boxcert.c
/var/tmp/boxcert_import.tmp
/var/tmp/boxkey_import.tmp
# User Certificate
-----BEGIN
 CERTIFICATE--
 PRIVATE KEY--
-----END
aes128
boxcert_import
Content-type: application/x-pem-file;charset=utf-8
Content-Disposition: attachment; filename="boxcert.cer"
/var/tmp/websrv_ssl_cert.pem
GCC: (GNU) 3.3.2
GCC: (Buildroot 2014.08) 4.8.3
.shstrtab
vidar:/home/FritzBox/FB7490/firmware $
Offenbar ist das aber im Zuge der Einführung von "Mesh" bei der 06.9x dann tatsächlich irgendwohin umgezogen (beim - in der Sicherungsdatei enthaltenen - Zertifikat für den "avmnexusd" braucht es seitdem ja dieselben Funktionen) ... aber wo das genau ist, solltest Du ja mit entsprechender Suche selbst finden.

Was ich auch nicht verstehen kann ... wieso willst Du irgendwelche Bibliotheksfunktionen von AVM "direkt" ansprechen und dazu erst mal deren Interface erkunden (denn anders geht es ja eher nicht - ich wüßte nicht, daß AVM irgendwo Header-Files für die Libraries veröffentlicht), wenn es doch viel einfacher ginge?

Du hast bereits zwei Wege zur Auswahl (direktes Schreiben der Files oder Upload über "firmwarecfg") und suchst irgendwie (wo ich jetzt gerne "krampfhaft" schreiben würde, bitte nicht mißverstehen) nach dem dritten Weg? Und das ist dann zu allem Überfluß auch noch derjenige, bei dem Änderungen durch AVM am wahrscheinlichsten sind (siehe der Umzug aus "firmwarecfg" irgendwohin, wo auch immer das sein mag) und wo man nach der nächsten relevanten Änderung seitens AVM mit genau demselben Aufwand von vorne beginnen müßte? Denn der einfache Aufruf einer parameterlosen Funktion wird es ja eher nicht mehr sein, wenn das irgendwohin ausgelagert wurde, damit man es für mehrere Dateien dieses (oder eines ähnlichen) Formats benutzen kann.

Hier fehlt mir vermutlich ein Stückchen Film ... ich kann jedenfalls nicht den geringsten Vorteil erkennen (und auch keine Notwendigkeit, warum man das so machen müßte), wenn man hier irgendwelche Bibliotheksfunktionen von AVM verwenden sollte. Sofern es diese überhaupt gibt ... denn eigentlich ist das gesamte Format ja genau das, was von "openssl" ohnehin zur Speicherung eingesetzt wird - das war ja ein Grund dafür, daß ich hier (https://github.com/PeterPawn/YourFritz/blob/master/signimage/FirmwareImage.ps1#L1911) das gesamte Handling für DER- und PEM-Files nachprogrammieren mußte, damit das unter Windows auch ohne OpenSSL nutzbar ist. Es wäre also auch durchaus denkbar, daß AVM jetzt endlich auf die "originalen OpenSSL-Funktionen" zurückgreift für diese Zwecke - dann findet man auch keine passende Lib dafür.

Aber das ist jetzt mal tatsächlich nur Spekulation ... ich sehe auch (für mich zumindest) keine unmittelbare Notwendigkeit, die Mechanismen an dieser Stelle genauer zu untersuchen. Zwei Alternativen, das eigene Zertifikat in die Box zu kriegen (genauer sind es ja eigentlich drei, weil man das CGI-Binary ja auch lokal aufrufen könnte und nicht unbedingt über HTTP gehen muß), reichen mir völlig und ein "dritter Weg", der sich auf AVM-Bibliotheken stützt, wäre auch noch der am wahrscheinlichsten von Änderungen durch AVM betroffene.
 
Ich hatte eigentlich nach
Code:
openssl rsa -aes-128-cbc -in /var/tmp/letsencrypt_key.pem -out /var/tmp/avm_key.pem -passout pass:$(privatekeypassword)
gefragt... Aber egal, habe ich jetzt schon selbst herausgefunden.

Und nochmal zu Motivation: Um diese Operation durchführen zu können, brauche ich "openssl" und "privatekeypassword" ZUSÄTZLICH als Pakete in FREETZ. Und genau nach einer Alternative dafür suche ich bei AVM, wie man es ohne firmwarecfg-cgi aufrufen kann. Meine Hoffnung bestand darin, dass AVM es ähnlich, wie "openssl_genrsa" und "openssl_req" in Binaries ausgelagert hat. Ich stecke zwar in der ganzen openssl-Thematik nicht so tief drin, meine bescheidenen Kenntnisse lassen aber vermuten, dass die beiden Binaries wahrscheinlich eine von AVM angepasste Abspeckung der "großen" OpenSSL ist. Und gerade bei einem 1750E-Repeater wird man nicht unbedingt OpenSSL nur wegen dieser Key-Verschlüsselung ins Image nehmen wollen.

Dass das Ansprechen von nicht protokollierten Libraries von AVM nicht einfach und kaum sinnvoll ist, ist mir klar. Es hätte ja aber sein können, dass es vielleicht eine "Superbibliothek" von AVM gäbe, die ihr sowieso nutzt und die vielleicht sogar von OpenSSL oder einem anderen OpenSource-Teil in AVM-Software stammt. Dahin ging die Frage mit den Libraries. Wenn du es jetzt aber sagst, dass es so nicht geht, dann glaube ich es und vergesse es mit den Libraries.

Mit dem "Umzug aus firmwarecfg" habe ich es irgendwie nicht ganz verstanden. Was ist denn da genau umgezogen? Bzw. was vermisst du genau? Stimmt doch meine Aussage, dass firmwarecfg mir "zu kurz vorkam". Das war aber eher im übertragenen Sinne von mir gemeint, dass da all diese Symbole zumindest in meiner 7-ter Firmwareversion fehlen. Denn auch nach diesen Symbolen hatte ich bei mir gesucht und dort nicht so viel gefunden...

Kann es sein, dass AVM doch daraus ein Binary gemacht hat, welches man dann aus der Shell heraus bedienen könnte und der "dritte Weg" wäre vielleicht doch etwas realistischer? Oder glaubst du daran nicht?
 
Glaube ich nicht dran (suche ich trotzdem nicht) ... wie bereits geschrieben, war das (zumindest bis zur 06.8x) fest in "firmwarecfg" verdrahtet und wird nun offenbar irgendwo anders erledigt, ohne daß sich dadurch die Größe der Binärdatei (die Du ja als Argument anführst) nennenswert geändert hätte. Schau Dir einfach beide Größen an ... dann weißt Du, was ich meine.

Ein OpenSSL-Binary ist nichts anderes als ein CLI für die Funktionen in der "libcrypto.so" und "libssl.so". Das trägt also kaum auf, wenn man es dynamisch linkt und warum AVM hier tatsächlich zwei "spezialisierte" CLI-Binaries verwendet, anstelle eines einzelnen (man kann da nämlich auch noch aussuchen/konfigurieren, was man im CLI gerne hätte), wird vermutlich auch ein Geheimnis bleiben.

Wenn Du "privatekeypassword" vermeiden willst, lies Dir einfach meine Erklärungen zu der ganzen "decoder"-Geschichte durch ... dann weißt Du auch, daß man dafür nichts weiter als eine MD5-Berechnung braucht. Wie die geht, kann man auch wieder in "pure shell" nachlesen: https://github.com/PeterPawn/decoder/blob/master/scripts/privatekeypassword - wenn einem die Erklärung nicht reicht.

Wenn man die Combo aus OpenSSL und "privatekeypassword" durch etwas anderes ersetzen würde, was auf die DSO-Dateien zugreift, wäre das zwar vielleicht ein Paket weniger (hinsichtlich der Größe schau einfach mal nach, denn die 4168 Byte der Binärdatei bei einer 7490 finde ich jetzt nicht so bemerkenswert), aber es wäre eben immer noch ein zusätzliches Paket. Man kann zwar "privatekeypassword" auch noch durch den direkten MD5-Hash ersetzen (letztlich ist das ja nur "convenience" für andere Pakete, die auf das Zertifikat zurückgreifen und dabei das nicht alles selbst implementieren wollen), aber am OpenSSL führt eher kein Weg vorbei. Auf der anderen Seite kann ich persönlich mir eine FRITZ!Box ohne ein (vollständiges) OpenSSL-Binary gar nicht vorstellen ... ich wäre (bei einem meiner Geräte) höchstens noch bereit, da auf eine dynamisch gelinkte Version anstelle der statischen (die ich immer dann verwende, wenn Platz kein Thema ist) zu setzen.

Ob Du am Ende irgendein neu zu schreibendes Programm (das dann irgendwelche Library-Funktionen verwendet) hinzufügen mußt oder ein vernünftiges OpenSSL-Binary (ggf. noch mit etwas Shell-Code, den man aber eigentlich immer bräuchte), macht in meinen Augen keinen Unterschied und angesichts des freien Platzes im Flash der Repeater (das kann man schon daraus schlußfolgern, daß hier der "NMI Boot Vector" eben erst hinter dem kompletten Filesystem-Image steht), sollte der Platz für ein dynamisch gelinktes "openssl", das man auf die notwendigen Funktionen zurechtgestutzt hat, locker vorhanden sein. Du würdest also (mit eigenem Programm zum Aufruf irgendwelcher AVM-Libraries, von denen ich noch nicht mal weiß, ob sie existieren und wie sie genau aussehen) nur das OpenSSL (und etwas Shell-Code) gegen ein weiteres Programm "eintauschen" - in meinen Augen nicht wirklich sinnvoll. Alles das, was hier notwendig ist, kann man mit Shell-Code und OpenSSL implementieren.

EDIT: Ich habe gerade doch noch ein "grep" eingetippt ... das ist jetzt offenbar in die "libcfgimpexp.so" gewandert, was meine Vermutung, daß es für das Nexus-Zertifikat auch benutzt wird, noch einmal untermauern sollte.
 
Da ich aus meinen alten Zeiten hier gewohnt bin, meine Lösungsideen vorzustellen, bevor ich sie endgültig umsetze, um vor allem Feedback von den Gurus unter uns hier zu sammeln, werde ich es diesmal auch tun. Wenn es heutzutage hier unüblich ist und mein "Durchkauen" euch nervt, dann belasse ich es und poste hier keine Zwischenlösungen mehr... Einfach Bescheid sagen.
Meine Beobachtung von openssl_genrsa und openssl_req brachte mich heute auf eine Idee, generell die Umsetzung mit solchen Wrapper zu gestalten und Zertifikat und Key auf diese Art und Weise quasi in die Box zu "injektieren". Der erste Versuch auf meiner 7490 zeigt, dass es grundsätzlich geht. Ich poste hier die erste grobe Version beider Wrapper zur Diskussion:
1. openssl_genrsa
Code:
#!/bin/sh
LOGRSA="/var/tmp/logrsa.log"
OPENSSL="openssl"
BINRSA="/var/media/ftp/SYSTEM/openssl_genrsa.bin"
SOURCEKEY="/var/tmp/letsencrypt_key.pem"
TMPKEY="/var/tmp/tmpweb.key"
REPLACECERT=1

parameters="$@"

if [ $REPLACECERT -eq 0 ]
then
   ${BINRSA} "$parameters"
   exitvar=$?
else
   ${OPENSSL} rsa -aes-128-cbc -in ${SOURCEKEY} -out ${TMPKEY} -passout pass:$(privatekeypassword) > /dev/null 2>&1
   exitvar=$?
   cat ${TMPKEY}
   rm -f ${TMPKEY} > /dev/null 2>&1
fi

timestamp="$(date '+%d.%m.%Y %H:%M:%S')"
echo "$timestamp" >> ${LOGRSA}

exit $exitvar

2. openssl_req
Code:
#!/bin/sh
LOGREQ="/var/tmp/logreq.log"
BINREQ="/var/media/ftp/SYSTEM/openssl_req.bin"
SOURCECERT="/var/tmp/letsencrypt_cert.pem"
TMPCERT="/var/tmp/websrv_ssl_cert.pem"
REPLACECERT=1

parameters="$@"

if [ $REPLACECERT -eq 0 ]
then
   ${BINREQ} "$parameters"
   exitvar=$?
else
   cat ${SOURCECERT} > ${TMPCERT}
   exitvar=$?
fi

timestamp="$(date '+%d.%m.%Y %H:%M:%S')"
echo "$timestamp" >> ${LOGREQ}

exit $exitvar

Der Schalter REPLACECERT sollte später dazu dienen, zwischen Originalverhalten von AVM mit selbstsignierten Zertifikaten und dem gewünschten veränderten Verhalten mit eigenen Zertifikaten dienen. Den Schalter könnte man z.B. in FREETZ (oder wo auch immer) umstellen und somit "on-the-fly" (ohne zu flashen) zum gewöhnlichen AVM-Verhalten wieder wechseln können. Ist der Schalter gestellt und die Wrapper sind auf der Box, so kopiert die Box die Zertifikate von der fremden Quelle, "denkt" aber, es wären ihre eigenen. Importieren der Zertifikate über WebIF wäre in dem Falle auch noch zusätzlich möglich. Man würde quasi die "injektierten" dann überschreiben. Löscht man im WebIF die importierten Zertifikate, so kehrt die Box auf die ursprünglichen wieder zurück. In dem Falle wären es die "injektierten". Wenn man REPLACECERT auf 0 setzt, dann verhält sich die Box, wie AVM es angedacht hat. Allerdings müsste man dabei noch irgendwie das Erneuern künstlich anstoßen. Über AVM-WebIF geht es aus der Position nicht. Aber dazu könnte man ctlmgr_ctl mit entsprechenden Parametern (s. irgendwo oben im Thread) nutzen.

Was hält ihr von dieser Idee mit der "Injektion"?

Die Skripte oben haben noch keinerlei Überprüfung, ob die Dateien existieren, die Ablageorte für Originalbinaries sind natürlich momentan auf meinem USB-Stick. Sollte daraus FREETZ-Paket entstehen, würde ich dies alles "nachziehen". Die Skripte dienen nur dazu, die prinzipielle Umsetzung zu zeigen.
Auf privatekeypassword kann man bei dieser Methode verzichten, weil die beiden Wrapper das Passwort von firmwarecfg übergeben bekommen. Ich war nur jetzt zu faul es mir mittels sed zu extrahieren. Würde aber grundsätzlich gehen.

EDIT: Ist jemandem aufgefallen, dass das Herunterladen der Zertifikate aus dem WebIF in der 7.0X-Firmware buggy ist? Es wird neben dem Zertifikat noch eine Menge HTML-Code in die heruntergeladene Datei geschrieben. Und das liegt nicht an meinem Wrapper. Gesehen bei 7490 und 1750E. Bei 7390 wird kein HTML-Code der Datei angehängt (Firmware <7.0X). Sollen wir diesen Bug an AVM melden?

MfG
 
Zuletzt bearbeitet:
Du schreibst ja, Du hast das getestet. Wieso reagiert denn jetzt bei Dir die AVM-Firmware nicht mehr so, wie man es bisher kannte und generiert bei jeder Änderung des FRITZ!Box-Namens und - ab 07.0x - sogar bei jeder Änderung der IP-Adresse auf dem WAN-Interface ein neues Zertifikat? Solange die Firmware das in der "websrv_ssl_cert.pem" gespeicherte Zertifikat für ihr eigenes hält, müßte sie das auch regelmäßig versuchen zu erstellen. Willst Du ihr dann jedesmal das LE-Zertifikat erneut "unterjubeln"?

Wo und wie speicherst Du denn das "Ausgangsmaterial" (bei Dir stehen in den Variablen "SOURCEKEY" und "SOURCECERT" ja entsprechende Dateinamen) in einer Form, daß da nicht jeder sofort über den Klartext des LE-Keys fällt? Die Verschlüsselung durch AVM ist zwar auch nicht überragend, aber wenigstens wird da überhaupt etwas verschlüsselt ... nach dem, was bisher zu sehen ist, liegt bei Dir der Key schon mal unverschlüsselt in "/var/tmp/letsencrypt_key.pem" - aus Securiy-Sicht ist das ein "no-go" und AVM würde man dafür (verbal) den Kopf abreißen.

[ Über die Namen mußt du vielleicht auch noch einmal nachdenken, falls jemand doch das AVM-LE-Zertifikat parallel benutzen will - denn die sind schon verdammt dicht an den von AVM ohnehin verwendeten dran (TFFS-Nodes 203 und 204) und wenn AVM auf die Idee kommen sollte, die auch noch nach "/var/tmp" zu kopieren (das kannst Du ja nicht beeinflussen), dann dürfte das Probleme bereiten. ]

Aber das ist ja auch wieder nur die halbe Wahrheit ... denn irgendwie müssen die Dateien samt Inhalt ja auch bei Dir/von Dir erst mal nach "/var/tmp" gelangen und da Du ja sicherlich nicht bei jedem Systemstart ein neues LE-Zertifikat erzeugen willst (und erst recht keinen Key), mußt Du die ja auch irgendwo "persistent" speichern, damit sie Reboots überleben. Willst Du das ernsthaft - in unverschlüsselter Form - innerhalb der Freetz-Settings machen? Da ist AVM aber um Jahre weiter beim Sicherheitsverständnis ... da findest Du nämlich weder im Dateisystem noch in irgendeinem Archiv den unverschlüsselten(!) Key für TLS im GUI, wohl deshalb, weil man nie genau weiß, hinter welcher Ecke die nächste Lücke lauert.

Willst Du den Key hingegen auch verschlüsselt speichern (wenigstens auf dem persistenten Speicher, denn das Skript oben zeigt ja, daß er in /var/tmp unverschlüsselt liegen soll), brauchst Du auch wieder irgendein Kennwort, was auch irgendwie mit dem konkreten Gerät zusammenhängen sollte und nicht nur mit Freetz und dem Paket. Am Ende läuft das dann wieder auf ein gerätespezifisches Kennwort hinaus und dann kannst Du auch gleich das von AVM verwendete nehmen - es sei denn, Du kennst etwas Besseres (was auch mind. gleich gut sichert).

Und wenn Du bereits die Daten in getrennten Dateien vorliegen hast (einmal den Key und einmal das Zertifikat, was beim Import ja erst noch auseinandergeflöht werden muß), warum muß man dann überhaupt darauf warten, daß AVM da irgendeinen "Wrapper" um die beiden Binärdateien aufruft? Warum schreibt man die Daten dann nicht gleich selbst ins TFFS und benachrichtigt den "ctlmgr" entsprechend davon? Das würde dann auch gleich noch dazu führen, daß die Firmware eben nicht bei der Änderung des FRITZ!Box-Namens, irgendeines DynDNS-Namens oder beim Wechsel der IP-Adresse ein neues generieren will und man das daher nur einmal machen muß - bei einem "hochgeladenen" Zertifikat (user_cert_present=1) fällt die eigenständige Änderung durch die Firmware ja dann flach.

Was konkret "sparst" Du denn hier, wenn Du die Dateien nicht direkt in die TFFS-Nodes schreibst, sondern sie erst mal irgendwo in "/var/tmp" ablegst und parallel dazu noch die beiden Binärdateien von AVM mit irgendeinem eigenen Skript "überlädst"? Ich verstehe einfach nicht, worauf Du hinauswillst ... denn einfacher, als den Key direkt in die "/var/flash/websrv_ssl_key.pem" zu schreiben mit demselben "openssl"-Aufruf, wie Du ihn oben in "openssl_genrsa" verwenden willst und parallel das Zertifikat (mit dem zusätzlichen "Kommentar" "# User certificate" in der ersten Zeile) in die Datei "/var/flash/websrv_ssl_cert.pem" zu schreiben (da reicht schon ein "printf", gefolgt vom "cat"), kann man es doch kaum noch haben - der Import eines (eigenen LE-)Zertifikats über das AVM-GUI würde ja auch nichts anderes machen.

Der einzige Punkt, der dafür noch zu ermitteln wäre (wenn man nicht einfach neu starten lassen will, was bisher bei mir immer ausreichend war - dann wird natürlich auch der neue, importierte Key verwendet), ist die IPC-Message, die man an den "ctlmgr" senden muß, damit der die "frisch importierten Dateien" dann auch noch - quasi on-the-fly - für das GUI benutzt ... denn der muß dann erst mal seinen privaten Schlüssel neu einlesen (aus der "/var/flash/websrv_ssl_key.pem") und auch das Zertifikat (für die Verwendung als Webserver) erst mal nach "/var/tmp/websrv_ssl_cert.pem" kopieren. Wenn ich mich nicht irre, war das auch irgendwas mit "boxcert_import" oder ähnlich ... kriegt man aber raus, wenn man den "ctlmgr" einfach mal nicht als Daemon und mit Debug-Ausgabe laufen läßt, denn dann kann mam mit "msgsend" ein wenig experimentieren.
 
@PeterPawn: Motivieren ist nicht deine Stärke. Aber egal. Ich habe schon verstanden. Ich poste solche halb garen Sachen hier nicht mehr und mache es wahrscheinlich ab jetzt auf cumas Art und Weise im stillen Kämmerchen und nur für mich.
Die Keys und Certs in tmp als Source waren hier nur zum Test, weil es in erster Linie nicht darum ging. Das Beispiel sollte weder zeigen, wie die Schlüssel und Zertifikate auf die Box kommen, noch wie sie z.B. über Letsencrypt generiert und abgeholt werden. Da man AVM-internen Mechanismen zum Generieren eigener Schlüssel nutzt und sie durch eigene Injektion ersetzt, landen die Schlüssel letztendlich im Flash, wie AVM es ja auch macht. Mit dem verdammt ähnlichen Namen hast du es falsch verstanden. Unter dem Namen holt firmwarecfg es wieder ab und schreibt es unter /var/flash, nachdem es durch den Wrapper durchgelaufen ist.
Für mich persönlich ist es eine relativ schnell umzusetzende Lösung und ich werde sie weiter verfolgen. Dann aber wahrscheinlich nur für mich, nicht für die Allgemeinheit.

MfG
 
Was hat das denn mit "Motivieren" zu tun, wenn Du Deinerseits noch jede Menge Lücken in der Konzeption hast, die Du hier vorstellst und wenn Dich dann jemand darauf hinweist?

Ist es Dir lieber, man schreibt so etwas erst dann auf, wenn das alles schon "in Sack und Tüten" ist und Du kannst den Kritiker dann hinterher mit der Frage konfrontieren, warum er das nicht schon davor "angemerkt" hatte?

Du wirst zwar Deine Gründe haben, aber ich tappe immer noch im Dunkeln, warum Du die Dateien nicht einfach selbst in die entsprechenden Flash-Nodes schreibst. Das, was Du bisher dagegen angeführt hast als Argumente (zusätzliche Programme werden benötigt), ist bei dem gezeigten Lösungsansatz genauso der Fall - oder ich verstehe das vollkommen falsch, dann zeige mir einfach die Stelle, wo ich daneben liege.

Ansonsten kannst Du machen, was Du willst ... wenn Du tatsächlich schon eine eigene Lösung für die verschlüsselte Speicherung vertraulicher Daten haben solltest, hast Du vergessen, sie zu beschreiben oder als "Konzept" zu zeigen. Wenn Du das unverschlüsselt speichern willst ... auch Deine Angelegenheit. Wenn Du das aber unverschlüsselt speicherst, nehme ich mir auch die Freiheit, den Finger in diese Wunde zu legen und dabei nehme ich dann auch keine Rücksicht darauf, ob und wie weit Dich das "demotiviert".

Schau Dir bei anderen an, wie die ihre privaten Daten vor dem Speichern verschlüsseln: https://bitbucket.org/fesc2000/ffri...nvsync?at=master&fileviewer=file-view-default ... bleibst Du hinter dem "Standard" zurück (auch wenn Embedded-Devices nicht so sehr viele Möglichkeiten haben ohne zusätzliche Hardware wie ein TPM o.ä.), wirst Du auch damit leben müssen, wenn das jemand kritisiert.

Wenn ich sachlich falsch liege, argumentiere gegen meinen Standpunkt bitte auch mit sachlichen Argumenten ... wenn Du Dir bereits entsprechende Gedanken gemacht hast, schreibe diese einfach auch dazu, weil man das sonst nicht sehen kann, was Du Dir gerade "denkst". Und wenn das der Fall sein sollte, daß Du das be- und durchdacht hast, kannst Du ja meine Fragen dazu leicht beantworten und dabei vielleicht auch noch einmal darauf eingehen, warum es einfacher sein soll, die zwei Wrapper-Dateien und ein "openssl"-Binary zu verwenden, anstatt einfach direkt in den Flash-Node zu schreiben. Gerne auch noch dahingehend, ob Du nun eigentlich die Firmware modifizieren und installieren willst oder die originale Firmware nur durch "Zusätze" verändern willst. Das macht nämlich schon bei der Frage, wie man die beiden Skript-Dateien oben "an den Start kriegt", einen gewaltigen Unterschied.

----------------------------------------------------------------------------------------------------------------------------------

Wenn Du hier schreibst:
Unter dem Namen holt firmwarecfg es wieder ab und schreibt es unter /var/flash, nachdem es durch den Wrapper durchgelaufen ist.
, bist Du entweder auf dem Holzweg (denn das AVM-GUI verwendet ja zwei getrennte Keys/Zertifikate und den Namen "letsencrypt_key.pem" nur im Zusammenhang mit dem selbstgenerierten LE-Zertifikat und das ist nun mal nicht derselbe Key, der in "websrv_ssl_kley.pem" steht) oder wir reden total aneinander vorbei und Du willst immer noch das LE-Zertifikat von AVM ersetzen.

Wobei ich dann gerade nicht verstehe, was "firmwarecfg" damit zu tun haben sollte, denn damit hat dieses Programm nun mal überhaupt nichts am Hut (es gibt nicht mal die Zeichenfolge "letsenc" in der Datei) ... aber wenn der "ctlmgr" von AVM bei der Auswahl des zu präsentierenden TLS-Zertifikats so vorgeht, daß er die Domain-Namen tatsächlich ausliest und beim LE-Zertifikat sich nicht darauf verläßt, was da eigentlich drin stehen sollte (denn dann würde er es bei einer anderen Domain als der myfritz.net-Adresse ja nicht auswählen), dann kann man natürlich auch das LE-Zertifikat bei AVM ersetzen.

----------------------------------------------------------------------------------------------------------------------------------

Ich finde es ja gut, wenn jemand mit seiner FRITZ!Box experimentiert und eigene Lösungen implementiert ... warum man die aber hier "vorstellen" sollte, wenn man gar keine Reaktion erwartet (und wenn man Schwachpunkte sieht, sollte man die auch benennen dürfen) und bei "Widerworten" sich dann sofort ins eigene Schneckenhaus zurückzieht, leuchtet mir nicht ein - aber auch dann kann so eine Diskussion (selbst wenn sie - wie unsere nun offenbar - total aneinander vorbei geht) ja für andere noch eine nützliche Hilfe sein; sonst würde ich sie auch nicht führen.

Denn zumindest diese können sich dann überlegen, wie sie erst einmal die Voraussetzungen dafür schaffen, daß das Gezeigte einigermaßen sicher umgesetzt werden kann ... und für diese wäre es auch nützlich, wenn Du noch einmal genau erklären würdest, was Dich jetzt vom eigenen Speichern der passenden Daten in "/var/flash/websrv_ssl_key.pem" und "/var/flash/websrv_ssl_cert.pem" wirklich abhält. Wenn es "fehlende Puzzle-Teile" (wie die IPC-Message an den "ctlmgr") sind, könnte man da ja auch noch einmal gemeinsam nachsehen ... das mache ich aber nur dann (und nehme damit dann anderen den Spaß an eigenen Versuchen), wenn man mich explizit dazu auffordert oder ich es selbst in irgendeinem Zusammenhang brauche.

Insofern ... danke für die Diskussion, ich bin dann mal raus, damit ich Dir nicht wieder unabsichtlich auf die Füße trete.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.