nextcloud / nextcloud/desktop

[Bug]: mTLS / Client Certificate and Notify Push

Open
#7,510 4 comments 1 reaction 0 assignees View on GitHub
1. to develop bug good first issue help wanted Prio: normal
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.