Hat jemand inzwischen ein eigenes SSL Zertifikat ans Laufen gebracht? Ich nach wie vor nicht... ;(
Ich auch nicht mit dem neuen Interface (es bleibt beim Einrichten per Hand) ... mir ist noch nicht einmal die geplante Vorgehensweise von AVM richtig klar.
Bisher führte ja jede Änderung eines möglichen DNS-Namens (Boxname, My!Fritz, DynDNS) der Box zur Generierung eines neuen Webserver-Zertifikats, der private Schlüssel (2048 Bit) wurde nur neu erzeugt, wenn er nicht vorhanden war oder nicht geöffnet werden konnte, weil das boxspezifische Kennwort dafür falsch war.
Der FTP-Server ließ sogar bei jedem "AUTH TLS"-Kommando erst einmal ein neues Zertifikat (mit dem PrivKey des Webservers) generieren, das wurde nie über die Lebenszeit einer ftpd-Instanz (die wird ja per inetd gestartet) hinaus persistiert.
Ist das jetzt vorbei und AVM akzeptiert einen beliebigen CN und beliebige Alternativen oder muß das hochgeladene Zertifikat alle möglichen Namen auch enthalten ?
Wenn alle Namen vorhanden sein müssen (also auch solche wie der interne "fritz.box"), dürfte die Verwendung eines gekauften "offiziellen" Zertifikats etwas kompliziert werden.
Die neue Firmware verhält sich von den alternativen Namen her genauso, d.h. dort sind alle möglichen internen Namen genauso enthalten, wie die zwei externen (MyFritz+DynDNS).
Andererseits ist es aber jetzt wohl so, daß sie nach dem einmaligen Generieren eines Zertifikats auf der Box alle folgenden Änderungen (My!Fritz an/aus, DynDNS an/aus) ignoriert.
Da ich hier erst nach dem Update der Firmware die Einstellungen am Stück wiederhergestellt habe, lag also zum Zeitpunkt der automatischen Generierung des Zertifikats schon eine gültige Liste von Adressen vor. Wie sich das jetzt beim nachträglichen Einschalten von DynDNS/My!Fritz verhält, will ich nicht selbst testen.
Oder will AVM am Ende nicht nur ein Zertifikat, sondern auch einen privaten Schlüssel per Upload haben ? Die Zeichenketten
Code:
-----BEGIN
CERTIFICATE--
PRIVATE KEY--
-----END
aes128
deuten darauf hin. Wenn man dann noch die Funktionsnamen "PEM_read_RSAPrivateKey" und "PEM_write_RSAPrivateKey" findet, könnte man ja eine Datei mit dem Zertifikat und dem privaten Schlüssel hintereinander im PEM-Format (wenn der private Schlüssel mit einem Kennwort geschützt, dann mit
Code:
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC ...
als korrektes Format annehmen.
In jedem Falle gehe ich davon aus, daß AVM bei den möglichen Permutationen zu diesem Thema (Schlüssellängen, Algorithmen) nur wenige Kombinationen wirklich zulassen wird. Damit dürfte ein privater RSA-Schlüssel mit einer Länge von 2048 Bit der Ausgangspunkt sein.
Aber bei allen Experimenten (verschlüsselt oder nicht, falsches/richtiges Kennwort, usw.) kommt immer dieselbe Meldung "Invalid variable name.". Da das hochgeladene Formular syntaktisch richtig ist (sagt ein Wireshark-Mitschnitt), kann eigentlich nur noch eine Diskrepanz zwischen Formular und "firmwarecfg"-Binary die Ursache sein oder vielleicht ist auch der komplette Codeteil zum Zertifikat-Import zwar in "firmwarecfg" enthalten, aber nicht "scharf geschaltet". Die im Formular verwendeten Namen "BoxCertPassword" und "BoxCertImportFile" finden sich jedenfalls in exakt dieser Schreibweise in 'firmwarecfg' wieder.
Besser wäre aber sicherlich ohnehin das Generieren eines entsprechenden CSR durch die Box und der Upload des resultierenden Zertifikats nach dem Signieren. Dann würde der private Schlüssel auch die Box nicht verlassen.
Aber selbst ein funktionierender Upload eines Zertifikats inkl. privatem Schlüssel wäre schon eine erhebliche Erleichterung gegenüber der "händischen" Vorgehensweise.
Jedoch sieht das im Moment alles schon noch sehr rudimentär aus, so fehlt z.B. nach wie vor eine Sicherung der websrv_ssl_*.pem-Dateien in den exportierten Konfigurationsdaten. Damit würde immer noch bei jedem Rücksetzen der Box auf Werkseinstellungen auch ein neuer privater Schlüssel generiert und der Besitzer muß dann das Zertifikat der Box jedesmal erneut in seinem Browser als "vertrauenswürdig" installieren. Insofern sehe ich die Verbesserung durch die Möglichkeit des Download des intern generierten Zertifikats eher als gering an. Auch bisher konnte man bei der ersten Kontaktaufnahme mit dem Webserver der Box ja das Zertifikat dauerhaft freigeben.
Ich habe auch noch nicht herausfinden können, wie die Box zwischen einem selbst generierten und einem vom Benutzer hochgeladenen Zertifikat unterscheiden will, in den Einstellungsdateien habe ich keinen potentiellen Kandidaten dafür finden können. Allerdings hat ja auch noch kein Upload bei mir funktioniert ... die Einstellung könnte also noch kommen.