[Bug]: mTLS / Client Certificate and Notify Push
- Dominant language
- C++
- Stars
- 3.9k
- Forks
- 1k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 123
Description
### Bug description
Hello ! The notify_push client implementation does not use the stored client certificate credentials, resulting in a client handshake error and a webserver complaining about the client not sending a certificate to authentificate with.
The [relevant Qt documentation](https://doc.qt.io/qt-6/qwebsocket.html) shows it’s possible to achieve client cert authentification with QWebSocket !
### Steps to reproduce
1. Enable [client certificate](https://github.com/nextcloud/desktop/blob/master/src/libsync/creds/httpcredentials.cpp)
2. Enable [Notify Push](https://github.com/nextcloud/notify_push)
3. Upload a file to the server from another client
4. Desktop awaits next scheduled polling to retrieve the file, not using the working notify_push server
### Expected behavior
The desktop clients makes use of [QWebSocket](https://github.com/nextcloud/desktop/blob/master/src/libsync/pushnotifications.cpp) to reach the [Notify Push](https://github.com/nextcloud/notify_push) server, and should be able to authenticate with client certs [like the regular http connection](https://github.com/nextcloud/desktop/blob/master/src/libsync/creds/httpcredentials.cpp) [does with QtKeychain](https://github.com/nextcloud/desktop/blob/master/src/libsync/creds/httpcredentials.h).
### Which files are affected by this bug
[pushnotifications.cpp](https://github.com/nextcloud/desktop/blob/master/src/libsync/pushnotifications.cpp) [pushnotifications.h](https://github.com/nextcloud/desktop/blob/master/src/libsync/pushnotifications.h)
### Operating system
Windows, Linux
### Which version of the operating system you are running.
Windows 11, Fedora 41
### Package
Official Windows MSI
### Nextcloud Server version
30.0.2
### Nextcloud Desktop Client version
3.14.3
### Is this bug present after an update or on a fresh install?
Fresh desktop client install
### Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
### Are you using an external user-backend?
- [x] Default internal user-backend
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other
Contributor guide
Assessment
This issue has not been assessed yet.