Hi Passbolt team/community,
I’m creating a new post because my previous report did not receive a technical response, and the issue is still affecting all users in our environment.
We are running Passbolt Community Edition 5.14.3 on Ubuntu. The Passbolt server is behind a separate Nginx reverse proxy that terminates HTTPS. I have intentionally omitted the public hostname and internal IP addresses from this post.
Current issue
Both the Passbolt browser extension and desktop application are failing for all users and on multiple machines.
The browser extension reports:
Something went wrong!
Could not verify the server key.
Server internal error. Check with your administrator.
The desktop application shows:
Sorry, you have not been signed in.
Something went wrong, the sign in failed with the following error:
An internal error occurred. The server response could not be parsed. Please contact your administrator.
I have attached screenshots showing both errors, as well as the browser extension console/network activity.
Important finding: the request does not reach the Passbolt backend
While reproducing the issue, I monitored the Passbolt backend Nginx access log in real time.
When the desktop application or extension fails, the expected request to the Passbolt authentication/server-key endpoint does not appear in the backend access log at all.
This is particularly interesting because direct requests from the LAN/backend to the Passbolt endpoint work correctly and return HTTP 200 with valid JSON containing the expected server public key and fingerprint.
This suggests that the failure may be occurring before the request reaches the Passbolt application.
Browser extension console
The attached screenshot also shows repeated errors from the extension, including:
Error: The user id cannot be empty
Error: The user is not set
legacy account cannot be retrieved, please contact your administrator.
TypeError: Cannot read properties of undefined (reading 'toDto')
These errors also occur after completely removing and reinstalling the extension and clearing the browser’s cookies/site data.
The problem reproduces on multiple machines and browsers, so it does not appear to be specific to one user’s local extension storage.
TLS certificate chain
I also checked the HTTPS certificate presented by the reverse proxy with OpenSSL.
The connection reports:
Verify error:num=20:unable to get local issuer certificate
Verify error:num=21:unable to verify the first certificate
Verify return code: 21 (unable to verify the first certificate)
The reverse proxy appears to be serving the leaf certificate without the complete intermediate certificate chain.
Interestingly, using curl -k to ignore certificate validation allows the HTTPS request to succeed and return the expected Passbolt JSON response.
Because the Passbolt desktop application and extension fail before the request appears in the backend logs, I am wondering whether strict TLS certificate validation could be involved.
What I have already checked
-
Passbolt upgraded from 5.14.0 to 5.14.3 successfully
-
Database is healthy
-
Passbolt migrations completed successfully
-
GPG healthchecks pass
-
GPG fingerprint and keyring are correct
-
Local Nginx/PHP-FPM are working
-
No local firewall rule is blocking the traffic
-
Direct requests to the Passbolt endpoint return HTTP 200
-
Extension was completely removed/reinstalled
-
Browser storage/cookies were cleared
-
Same issue occurs on multiple clients/users
-
The problem affects both the browser extension and desktop application
There is also currently an NTP synchronization warning on the backend, although I have not yet established whether that is related.
Questions for the Passbolt team
-
Can an incomplete TLS certificate chain cause the desktop application or browser extension to fail with “Could not verify the server key” / “The server response could not be parsed” before the request reaches the Passbolt backend?
-
Does the Passbolt desktop application or browser extension perform stricter TLS certificate validation than normal browser navigation?
-
Are the extension errors such as “The user id cannot be empty” and “The user is not set” expected secondary errors when the initial server verification fails?
-
Is there a recommended way to enable more detailed debugging for the desktop application or extension to identify exactly where the verification/handshake is failing?
-
Could NTP/clock synchronization problems cause this type of server verification failure, or is that unrelated?
At this point, the two strongest clues are:
1. The failing request does not appear to reach the Passbolt backend.
2. The HTTPS endpoint currently fails full certificate-chain validation.
I have attached three screenshots showing the extension console, browser/network activity, and desktop application error.
Any guidance from the Passbolt team would be greatly appreciated.


