Allow PKCS#11 modules on Flatpak Chrome - #378
Conversation
|
Started test build 184971 |
|
Build 184971 successful |
|
Started test build 185441 |
|
Build 185441 successful |
|
Started test build 185446 |
|
Build 185446 successful |
Make sure the NSSDB exists and have the p11-kit-proxy.so library added.
ef47507 to
b4d5cac
Compare
|
Started test build 186895 |
|
Build 186895 successful |
|
I'm aware that support for this isn't great in the Flatpak world rn, but these extensions really feel like something that's pretty general and thus should be part of the base runtime itself instead, or at least something more generic? Rather than being tied to Chrome specifically. |
|
Thank you for taking the time to look into this case. At first I thought the same way and went to look up how the org.freedesktop team was working. The situation was much more complex than I imagined: the developers have been working for months on a portal to enable native Gnome/Plasma extensions, which is a feature with much greater demand. A PKI portal will not be on the roadmap any time soon. I realized that the Flatpak team's major concerns about security and privacy don't allow for a very generic solution on this topic, as it runs the risk of exposing too many permissions to applications that don't need them. Based on the workaround suggested by another user, it's possible to allow use without modifying Flatpak, but it requires a certain level of knowledge and violates a rule that shouldn't be done: the developer needs to be sure that their packages will behave the same way on any distribution. I have no idea how much this feature is in demand in other browsers, but I believe that similar solutions can be proposed, which will lead to an evolution in this topic and, if all goes well, a definition of which model the community will adopt. |
|
If you have a card compatible with Opensc, could you test the other extension: https://github.com/MarceloAlm/com.google.Chrome.opensc? |
These modifications enable the Flatpak Chrome environment to accept extensions that facilitate the loading of PKCS#11 modules into the internal NSS database.
Each extension can load a new module compatible with p11-kit (https://p11-glue.github.io/p11-glue/p11-kit/manual/), which will be loaded into the browser via p11-kit-proxy.so. When an extension is uninstalled, its module will be removed. This also allows users to install extensions without relying on host system libraries beyond PCSC.
To enable PKCS#11 modules to be loaded into the internal NSS database, the following adjustments to the application's loading process:
A operational extension is avaliable at https://github.com/MarceloAlm/com.google.Chrome.libeToken.git. It enables the use of libeToken.so on Chrome, Safenet eToken.