Matthieu Gallien
f57ebbd063
fix(csr): sets a version on CSR requests for end-to-end encryption
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Matthieu Gallien
738683c9e8
fix(csr/e2ee): disable broken code when generating a CSR for encryption
...
the call to X509_REQ_set_version is always failing
we will skip it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Matthieu Gallien
520a866776
fix(clazy): fix clazy reported issues with the existing code
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Matthieu Gallien
b0910a8c14
fix(encryption): properly get private key when decoding data
...
will stop failing to decode using private/publy key pair when
downloading encrypted content (i.e. symetric keys are encrypted using
asymetric encryption)
we improperly use a certificate hash to find the key while the private
key is the current one of the user downloading the files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Matthieu Gallien
5248ac1117
fix(logs): makes encryption logs more useful
...
errors should use warning level
not so useful logs should not be info loevel or should not exists
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Rello
1ec8fe63ac
Change qCDebug error logs to qCWarning
2025-06-05 09:24:32 +02:00
Andy Scherzinger
130668c3b9
docs(reuse): Migrate to SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-04-29 09:00:19 +02:00
Matthieu Gallien
853f9b7a0c
use a better and shorter title for input dialog for PIN code
...
we have to make sure the title is short and easy to understand
if it is too long, it will be truncated giving a bad experience for the
user
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-03-18 11:46:36 +01:00
rakekniven
2f77e015c8
chore(i18n): Remove blank
...
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-02-17 07:58:54 +01:00
Matthieu Gallien
a4dfef2daf
remove duplicated code in ClientSideEncryption class
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
335ea176b4
fixes for software end-to-end encryption issues
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
b8f87134ed
fix setting up encryption with software based certificate storage
...
some data need to be converted to or from base64
some data should not be converted
clear one such place where a conversion to base64 was too much
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
f42c944e6a
partial fix for broken automated tests
...
will use different validation method for hardware stored certificates
and pure software certificates emited by the nextcloud server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
2a52ec33b0
add support to use PKCS#11 harware token to store certifice for e2ee
...
Close #5685
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
fb0b89f5fa
fix wrong if condition
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-01-27 18:56:48 +01:00
Matthieu Gallien
6cc7a9955f
switch client side encryption to use sha256 hash algorithm
...
Close #5989
only support sha1 for depreceted read-only usage
use sha256 for new encrypted write operations
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-01-23 10:47:16 +01:00
Matthieu Gallien
a8021a2dff
use modern non deprecated hash algorithm and parameters
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-12-12 10:02:51 +01:00
Matthieu Gallien
1533670e77
add NextcloudSslCertificate to wrap QSslCertificate in QHash
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
44f6d514ff
only try to include qt6-keychain header and not the qt5 version
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Claudio Cambra
79a150baf4
Fix qtkeychain imports with Qt6
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
4e643166af
ensure we ignore deprecated warnings from openssl in unity builds
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 10:34:22 +01:00
Matthieu Gallien
87522bf24c
suppress deprecated warnings from openssl
...
is needed to avoid failing builds due to warnings
unclear when we will tackle the work of removing the use of deprectaed
APIs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-06 08:45:33 +01:00
alex-z
af612525c4
End-to-End Encryption V2. Implemented sharing between users. Automatic migration from 1.0 to 2.0(only for flat folders). Improved secure filedrop.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 16:13:25 +01:00
alex-z
50d168759f
Added error reporting for E2EE issues.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
Matthieu Gallien
242135d9d9
remove deprecated openssl 3.0 warnings
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
Matthieu Gallien
10cac0f46f
fix review comments
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
0b3d67437a
improve logs of e2ee such that errors are easy to see
...
removed some internal debug logs that should not be needed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1712f98b3c
make sure to pass shared pointer by const ref when possible
...
avoid unnecessary copies of shared pointers
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
af1162804a
make sure we clean only what is needed if e2ee is disabled
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
b9761a23fe
tidy code
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
ad34de1622
make sure e2ee init is either fully done or not at all
...
make sure that we have only two cases:
1) keys are stored on the server and the client
2) keys are stored on the server and not yet on the client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
bef5d1a893
if keys are not on server, also delete local keys
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
c8e5ac7b5f
fix upload of private key when initializing the end-to-end encryption
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
3a0e0f2097
can now generate the CSR again if the first try to upload failed
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
50234c5859
try to resend the public key if it is not on server but on local storage
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
d3b583d967
improvement to be able to retry the e2ee init steps
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
17484cd69f
finish local save of keys and upload them to server
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1b7c16e8ff
solve memory mismanagement of object life time
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1cb632234c
e2ee init rework
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
15f3e2acae
backup private key early
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Dimitri Papadopoulos
9d830e94f9
Fix typos found by codespell
...
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
alex-z
90e3a37a20
E2EE. Fix freeze on metadata checksum validation.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-08 11:29:16 +02:00
Matthieu Gallien
a852eda937
in case server has no private key, let e2ee init fail
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-07 16:08:23 +02:00
alex-z
31c3aee447
Fix unit tests SecureFileDrop
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-05 12:21:28 +02:00
Matthieu Gallien
c9cf248e5d
fix compilation
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 18:01:26 +02:00
Matthieu Gallien
b0c69481f2
try different permutation to try to recover the broken checksum
...
will only accept a checksum that can be computed from proper data
should still be safe
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 17:41:17 +02:00
Matthieu Gallien
a76d9fe46d
sort encrypted files by their id to compute checksum
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 15:06:05 +02:00
Matthieu Gallien
5b1238ddb1
compilation fixes for windows
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 18:06:10 +02:00
Matthieu Gallien
6bf4570b99
compatibility with final file drop implementation
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8659df2266
prevent downgrading e2ee metadata format after initial migration
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00