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
Matthieu Gallien
6fb16ce5f4
when uplaoding e2ee metadata add an empty filedrop entry
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8b10b3a926
optimize the computation of checksum for metadata
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8ec5518d8d
checksum has to be computer from the encrypted metadataKey
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
1e018d1e56
display some logs when checksum verification is failed
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
ee3c18f9f2
put sane order over #include
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
f181b91875
when migrating older metadata, do not check missing checksum
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
d1c18ecf2a
when uploading new e2e metadata, adds a checksum
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
1b14c127a4
check checksum when getting e2ee metadata
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
alex-z
1b0a93eabc
Migrate E2EE from v1 to v1.1
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
6a4028564e
fix indentation style
...
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
alex-z
09f316dcfc
E2EE cut extra zeroes from derypted byte array.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-17 16:04:43 +01:00
alex-z
b6ba1fe0d6
Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-02 19:29:11 +01:00
Matthieu Gallien
a8a5dfe6c6
skip e2e encrypted files with empty filename in metadata
...
we cannot decrypt a file without a name
for now we will ignore them
we should probably do much more for the user but I fail to see how to
generate errors from e2ee module
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-20 09:50:34 +01:00
Claudio Cambra
446bb29155
Avoid trying to delete keychain encryption data if there is no encryption data configured
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
2c17305864
Add sensitiveDataRemaining convenience method to clientsideencryption
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
e7c978551d
Make sure to return in checkAllSensitiveDataDeleted
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
4ded5e1b38
Don't early return in sensitive data deletion for clientsideencryption if the entries were never stored in keychain
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
alex-z
bd9eb0c89f
Always unlock E2EE folders, even when network failure or crash.
...
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-30 16:01:19 +01:00
Claudio Cambra
cc6bdc9bd5
Add ability to remove local encryption keys through settings
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
689dee6a16
Properly handle sensitive data deletion in ClientSideEncryption
...
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00