hubert.n
Goto Top

Zertifikat in Firefox löschen

Moin zusammen face-smile

Ich habe gerade ein akutes Problem bei einem Kunden. Vieleicht hat ja hier jemand eine spontane Lösung...

Für den Zugriff auf ein Dokumentationsssystem wird bei dem Kunden mit pk12util ein Zertifikat in Firefox importiert. Das funktioniert auch soweit. Das neue Zertifikat ist in Firefox installiert.
Nun gibt es leider mit dem alten Zertifikat ein Problem. Ich muss es irgendwie lösen, weil hier das Telefon nicht still steht, weil die Leute nicht mehr ins System kommen. Das alte Zertifikat ist laut Firefox bis morgen Nachmittag gültig. Beim Anbieter ist es aber heute abgelaufen. Wie das passieren kann, ist mir ein Rätsel.

Hat irgendwer eine Idee, wie ich scriptgesteuert ein bestimmtes Zertiikat aus Firefox löschen kann?

Gruß

Content-ID: 672309

Url: https://administrator.de/forum/zertifikat-in-firefox-loeschen-672309.html

Ausgedruckt am: 04.04.2025 um 05:04 Uhr

djgarfield
djgarfield 03.04.2025 um 12:20:54 Uhr
Goto Top
Dass schon probiert? Leider nicht als script..

Firefox öffnen
Im Menü auf Tools und dann auf Options klicken
Im linken Menü auf Privacy & Security klicken
Nach unten scrollen und die Registerkarte Certificates auswählen
Auf View Certificates klicken
Im Reiter Your Certificates das zu löschende Zertifikat auswählen
Auf Delete klicken
Zum Bestätigen auf OK klicken
Wenn ein Zertifikat als Standardzertifikat festgelegt wurde, kann es nicht gelöscht werden. Um es zu löschen, muss zunächst ein anderes Zertifikat als Standardzertifikat festgelegt werden.
Hubert.N
Hubert.N 03.04.2025 um 12:29:34 Uhr
Goto Top
Moin

Hat irgendwer eine Idee, wie ich scriptgesteuert ein bestimmtes Zertiikat aus Firefox löschen kann?

Wie man das manuell macht, ist kein Problem. Ich kann das nur schlecht händisch bei ~200 Profilen machen...

Gruß
DivideByZero
DivideByZero 03.04.2025 aktualisiert um 12:32:09 Uhr
Goto Top
Moin,

ich hatte mir dazu mal kopiert:

"Firefox stores its certificates in the Mozilla\Firefox\Profiles\< profile folder > . Remember that the Application Data folder is a hidden folder.

There is file named cert8.db in the default profile folder. You can use the Certificate Database tool (certutil.exe) command line tool to delete the certificate from the database.

certutil -D -n < certificate name >

You can obtain windows binaries of certutil.exe by downloading NSS and NSPR from Mozilla.

Unzip NSS and NSPR, then copy everything from both "bin" directories and both "lib" directory into a single location. Run certutil.exe from that location and point the tool to your cert8.db file with the "-d \path\to\profile\"

Example :

certutil.exe -D -n < certificate_name > -d "Path to\Mozilla\Firefox\Profiles\4abcdefg.Guest\"


Doku: nss-crypto.org/reference/security/nss/legacy/tools/nss_tools_certutil/index.html

MS: learn.microsoft.com/de-de/windows-server/administration/windows-commands/certutil

Das ist aber ein alter Eintrag, Jahre her, ob das noch funktioniert, keine Ahnung. Bin aber unterwegs, kann nicht testen. Hoffe, es hilft ein wenig.

Gruß

DivideByZero
Hubert.N
Hubert.N 03.04.2025 um 12:52:24 Uhr
Goto Top
... über certutil bin ich auch schon gestolpert...

Ich frage mich nur, wo ich das herbekomme... Es ist offensichtlich nicht dsas in Windows vorhandene certutil, weil der Syntax ein anderer ist.

Gruß
Michi91
Lösung Michi91 03.04.2025 um 14:16:23 Uhr
Goto Top
NSS ist auch Teil von Tor. Versuch mal das certutil aus https://dist.torproject.org/torbrowser/14.5a5/mar-tools-windows-x86_64-1 ...
Crusher79
Crusher79 03.04.2025 um 14:19:46 Uhr
Goto Top
Uff...

Wir haben eine eigene CA. Firefox wenig angepasst. So aus dem Bauch heraus:

cert9.db

Wenn die nicht verschlüsselt ist, könnte man daran. Komplett tauschen oder mit PowerShell SQLlight?!? manipulieren. Weiß nicht, welches Format die nun genau hat.
Hubert.N
Hubert.N 03.04.2025 um 14:49:43 Uhr
Goto Top
Zitat von @Michi91:
NSS ist auch Teil von Tor. Versuch mal das certutil aus https://dist.torproject.org/torbrowser/14.5a5/mar-tools-windows-x86_64-1 ...

.. danke !!

Ich denke, damit kome ich weiter face-smile
BiberMan
BiberMan 03.04.2025 aktualisiert um 19:24:02 Uhr
Goto Top
Mal mit Powershell was zusammengeknüppelt - nötige SQLite DLLs beispielsweise bei Nuget runterladen und Pfad anpassen
# common name of certificate to delete
$commonname = 'user@domain.de'  
# ================================
# sqlite dlls laden
# download hier www.nuget.org/packages/System.Data.SQLite.x64
Add-Type -Path "$psscriptroot\System.Data.SQLite.dll"  
# download hier www.nuget.org/api/v2/package/SQLite.Interop.dll
Add-Type -Path "$psscriptroot\SQLite.Interop.dll"  

# stop on errors
$ErrorActionPreference = 'Stop'  
# get each certificate db from all profiles of the current user
$certdbs = Get-ChildItem "$env:APPDATA\Mozilla\Firefox\profiles\*\cert9.db" -file -EA SilentlyContinue  
if (!$certdbs){
    write-host "No Firefox certificate databases found!" -F Yellow  
    return
}
foreach($db in $certdbs){
    write-host "Opening certificate database '$($db.Fullname)'" -F Green  
    $conn = $null;$cmd = $null
    try{
        # create connection to database file
        $conn = New-Object System.Data.SQLite.SQLiteConnection "Data Source=$($db.Fullname);Version=3"  
        # open connection
        $conn.Open()
        write-host "Removing Certificate with common name '$commonname' from database file $($db.Fullname) ..." -F Green  
        # sql command to remove certificate
        $cmd = New-Object System.Data.SQLite.SQLiteCommand "DELETE FROM nssPublic WHERE a101 LIKE '%$commonname%'",$conn  
        [void]$cmd.ExecuteNonQuery()
    }catch{
        write-host "Error: $($_.Exception.Message)" -F Red  
    }finally{
        if($cmd){$cmd.Dispose()}        
        if ($conn){$conn.Close();$conn.Dispose()}
    }
}
Nutzung auf eigene Gefahr.

p.s. man kann auch den Windows Certificate Store für die User aktivieren, dann kann man wie gewohnt die Certs in der Windows Zertifikatsverwaltung managen und braucht nicht im Firefox-Zertifikatsspeicher separat zu hantieren... about:config öffnen und dann security.enterprise_roots.enabled auf true setzen. Dann reicht für das Löschen eines Zertifikats ein Remove-item cert:\CurrentUser\My\<Thumbprint>