Firefox ClientAuthenticationRememberList Parser
Project description
carl-ff
carl-ff is a small python utility and library to parse and modify Firefox's ClientAuthenticationRememberList. The ClientAuthenticationRememberList is a binary file used by Firefox to make authentication decisions regarding whether to send a client certificate to a particular server.
Installation
carl-ff can be build and installed as a pip package. The recommended way of installing is via pipx:
[user@host ~]$ pipx install carl-ff
You can also build carl-ff from source by running the following commands:
[user@host ~]$ git clone https://github.com/qtc-de/carl-ff
[user@host ~]$ cd carl-ff
[user@host ~/carl-ff]$ pipx install .
Usage
carl-ff attempts to find the ClientAuthRememberList.bin file within your Firefox
profile automatically. Invoking carl-ff without any options just lists your current
authentication decisions:
user@host:~$ carl-ff
[+] ClientAuthRememberList:
[+]
[+] Allowed Entries:
[+] 0.) https://trusted.internal.local
[+]
[+] Blocked Entries:
[+] 1.) https://untrusted.external.web
To add a new entry, use the add subcommand. The add subcommand requires either
the --cert or --blocked arguments to be specified. With --cert you can select
the certificate to use for authentication. With --block you decide to not send a
certificate. Moreover, the --host or --from-file arguments are required. With
--host you can specify the desired host. With --from-file you can specify a file
that contains hostnames:
user@host:~$ carl-ff add --cert cert.pem --host auth.internal.local
[+] ClientAuthRememberList:
[+]
[+] Allowed Entries:
[+] 0.) https://trusted.internal.local
[+] 1.) https://auth.internal.local
[+]
[+] Blocked Entries:
[+] 2.) https://untrusted.external.web
user@host:~$ carl-ff add --block --host third-party.internal.local
[+] ClientAuthRememberList:
[+]
[+] Allowed Entries:
[+] 0.) https://trusted.internal.local
[+] 1.) https://auth.internal.local
[+]
[+] Blocked Entries:
[+] 2.) https://untrusted.external.web
[+] 3.) https://third-party.internal.local
To remove an entry from the list, use the del subcommand. The del subcommand
requires an additional integer parameter that specifies the entry you want to delete.
Be careful when using this while Firefox is open, as new authentication decisions
may change an index.
user@host:~$ carl-ff del 1
[+] ClientAuthRememberList:
[+]
[+] Allowed Entries:
[+] 0.) https://trusted.internal.local
[+]
[+] Blocked Entries:
[+] 1.) https://untrusted.external.web
[+] 2.) https://third-party.internal.local
Acknowledgements
carl-ff was inspired by ff-carl,
a Rust library for modifying ClientAuthRememberList.bin.
Disclaimer
ClientAuthenticationRememberList.bin uses a proprietary format that may change in future or has not been implemented correctly by this library. This tool and the associated library come with absolutely no warranty that they will work correctly. Always verify the results within the Firefox settings and use the tool / library on your own risk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file carl_ff-1.0.0.tar.gz.
File metadata
- Download URL: carl_ff-1.0.0.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5333b8645572813824d8ece5b9ee79dad6b5b791ee65cf5a471faf3deb05b113
|
|
| MD5 |
cd7d7a05b6b7c1aef70ed128cda9b163
|
|
| BLAKE2b-256 |
d86249b94ae8612978de47753584e8ff05dd1b9092c50c052b35aeb9d9804d1f
|
File details
Details for the file carl_ff-1.0.0-py3-none-any.whl.
File metadata
- Download URL: carl_ff-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3a90e365e6cc3c738b6ccfb9e7a05cdc06d78d69e33511a0d2490e765767954
|
|
| MD5 |
9163baf1b478d6db9d020cbcbf835257
|
|
| BLAKE2b-256 |
e3fd8b7ff964ca35f75249e0bfe19c2d66510c7c788fe168fc50d1af8ca097db
|