roelderickx / connective-plugin-linux

A replacement for the Connective Plugin which is used on several websites to log in or sign documents using a card reader and an electronic identity card.
GNU General Public License v3.0
36 stars 2 forks source link

ubuntu 24.04 #23

Closed ubuntushopdoteu closed 2 months ago

ubuntushopdoteu commented 2 months ago

On ubuntu 24.04, with no snap firefox, the connective plugin is not working.

How to debug? test page gives nothing. in terminal i can get reader.

In google-chrome it works.

roelderickx commented 2 months ago

Hi,

It is indeed required to not use the snap firefox included with ubuntu.

First of all verify if the plugin is correctly installed and activated. You can do this in several ways, for example by opening a random website, push F12 and then verify if the following code is injected in the <head>: <meta id="ConnectiveDocSignExtentionInstalled" name="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.5"> You may have to accept the plugin to run in private windows if you use private browsing. Go to about:addons to manage this.

Then verify if the backend is correctly installed and called. Open the debug log using ctrl-shift-J. Then open the testpage, click get info and click Send request at the bottom, you should see at least a few messages in the debug log:

stderr output from native app com.connective.signer: IN {"cmd":"GET_INFO","isRequest":true}
stderr output from native app com.connective.signer: OUT {"version": "2.0.2", "binVersion": "2.0.9"} 

If not there is something wrong with the backand. Can you confirm the existence of ~/.mozilla/native-messaging-hosts/com.connective.signer.json ? If you open that file in an editor, does it point to the full and correct path of connective-backend.py?

I assume the backend itself works since you got it working in Chrome, so let's start here and see what you find.

ubuntushopdoteu commented 2 months ago

pip install nativemessaging-ng gives error: error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.

pip install --break-system-packages nativemessaging-ng goes ok then: nativemessaging-install install firefox nativemessaging-install: command not found if i: sudo pip install --break-system-packages nativemessaging-ng then i can execute: nativemessaging-install install firefox

is ok and present: ~/.mozilla/native-messaging-hosts/com.connective.signer.json

but no trail of

in the head section

ubuntushopdoteu commented 2 months ago

I have a feeling that firefox does not use the /.mozilla/native-messaging-hosts/com.connective.signer.json

roelderickx commented 2 months ago

but no trail of

in the head section

Which means the plugin is not installed or not working. Did you use F12 to check this? The view source functionality does not show this. Can you find the plugin when you click on the extensions? Is it active?

I have a feeling that firefox does not use the /.mozilla/native-messaging-hosts/com.connective.signer.json

That's not immediately apparent, as long as the backend is not called it seems unused. The file is correctly installed which is basically sufficient to call the python script.

I should install ubuntu 24.04 with a no-snap version of firefox to investigate. Which version of firefox did you exactly install? If the installation folder is indeed different I need to adapt this.

ubuntushopdoteu commented 2 months ago

Got it working once: It appears that the plugin is removed after closing firefox. Open the plugin with firefox, plugin installed and showed in extensions. Itsme verification working. Closing firefox and again open firefox, the plugin is gone. i will investigate further

roelderickx commented 2 months ago

That's very odd. Googling this problem returns a few suggestions, I'm sure you'll find a solution.

ubuntushopdoteu commented 2 months ago

found it: when deleting the /home/user/.mozilla directory, firefox creates a new global config: /usr/lib/firefox-esr i put the connective plugin in the /usr/lib/firefox-addons and the plugin's files in /usr/lib/firefox-addons/extensions to make it global. I's working now.

roelderickx commented 2 months ago

Good to hear that and thanks for the heads up!