Hallo Welt,
als ich heute morgen Thunderbird starten wollte wurde ich mit folgender Fehlermeldung “Could not initialize the browser’s security component” begrüßt .. da ich das Problem jetzt schon mehrfach beobachtet habe und mir denke das sich viele die Frage stellen warum sie vllt. in die selbe Problematik rennen, wollte ich kurz die möglichen Ursachen als auch eine etwaige Lösung aufzeigen.
Als erstes muss ich sagen das es im Web eine ganze Menge total merkwürdiger Postings zu diesem Topic gibt. Um nur ein Beispiel zu nennen wird dazu geraten die Dateiberechtigungen der Berkeley Datenbanken key3.db sowie cert8.db zu überprüfen und ggf. zu korrigieren…
Aber hey, alternativ kann man dem Papst natürlich auch einen Brief, mit der Bitte um Absolution seines Donnervogels zukommen lassen!
Aber jetzt mal ernsthaft; In 99% der Fälle haben weder Dateiberechtigungen noch der Papst etwas mit der Ursache geschweige denn mit der Lösung des Problems zu tun. Hat jemand schon mal mitbekommen das sich Dateiberechtigungen “einfach über Nacht” ändern? Selbst bei einem Update von Thunderbird wird das Profilverzeichnis des jeweiligen Nutzers in der Regel nicht angerührt.
Wenn Thunderbird allerdings crashed oder abrupt beendet wird kann es passieren das die oben benannten Berkeley Datenbanken etwas empfindlich reagieren und vor lauter Inkonsistenz nicht mehr gelesen werden können.
Allem Anschein nach gibt es hierzu auch keine automatische Recovery Routine innerhalb der Mozilla Komponenten. Ich habe das bisher nicht selbst überprüft aber der Fakt das der Fehler häufiger auftritt lässt darauf schließen das dem so ist. Es gibt bestimmt einen Weg die Datenbanken mit Hilfe der Recovery Funktionen der Berkeley Utils wiederherzustellen jedoch habe ich heute keine Zeit mich dem Thema zu widmen. Mal ganz beiläufig; erstellt jeder von euch regelmäßig Backups? Nein? Spätestens jetzt solltet ihr diesen “Umstand” nochmal überdenken, um vor solchen Situationen gefeit zu sein!
Kommen wir nun auf die Dateien zurück; In der key3.db speichern Mozilla Komponenten personifizierte Zugangsdaten des jeweiligen Profils ab (also in erster Linie Benutzernamen und Kennwörter). Diese Datei kann und sollte auch durch einen Master-Key vor fremden Zugriff geschützt werden. Ich erinnere nur zu gern daran das Datenbanken allgemein über die selbe Schnittstelle ausgelesen werden können wie das Programm das sie verwendet! Ein Master-Key schützt die Datenbank zumindest vor dem Zugriff von anderen Applikationen.
Ein Master-Key lässt sich problemlos in den Einstellungen der jeweiligen Komponente (Firefox, Thunderbird, SeaMonkey ..) anlegen. Dieser kann vom Benutzer frei gewählt werden und wird bei jedem Start der Applikation abgefragt um Zugriff auf die gespeicherten Zugangsdaten zu erlangen.
In der Datei cert8.db werden Sicherheitszertifikate für SSL/TLS Verbindungen gepflegt (auch selbst-signierte Zertifikate von lokalen Servern).
Nachdem die Formalitäten nun geklärt sind kommen wir zur eigentlichen Lösung des Problems. Es gibt eine weitere Datenbank innerhalb eines jeden Profilverzeichnisses die auf den Namen secmod.db hört. Darin befinden sich die Pfade, Konfigurationen sowie Versionen der zu verwendenden Sicherheitsmodule (zB. PKCS#11 bei Hardware Tokens). Ist diese nicht lesbar (aus welchem Grund auch immer) wird der besagte Fehler “Could not initialize the browser’s security component” ausgegeben.
Um das Benutzerprofil wieder gerade zu biegen empfehle ich die secmod.db Datenbank zu entfernen. Sollte die Mozilla Komponente danach weiterhin den Dienst verweigern, bleibt wohl keine andere Wahl als alle drei benannten Datenbanken (key3.db, cert8.db, secmod.db) zu löschen. Nur so kann man sich der hundertprozentigen Konsistenz sicher sein. Beim erneuten Start der Mozilla Komponente werden die entsprechenden Dateien neu angelegt und alles sollte wie gewohnt funktionieren. Natürlich sind dann alle Benutzerkennungen und selbst-signierten Zertifikate, die zuvor in den Datenbanken abgelegt waren, verloren! Aber hier hilft dem Normalsterblichen der auf der Suche nach einer schnellen Lösung ist kontinuierlich und auch konsequent Backups anzulegen!
Solltet ihr über diesen Artikel stolpern nehmt euch doch bitte die Zeit und hinterlasst einen kurzen Kommentar
So long ..
Jan