1
0
Fork 0
Commit Graph

92 Commits

Author SHA1 Message Date
Tomaz Canabrava c592871f94 [CSE] Do not handle b64 inside of the decrypt function
the decrypt function should deal with the raw data always.
2017-12-13 16:37:52 +01:00
Tomaz Canabrava 2127b2629d [CSE] Move encryption related network jobs to its own file
Move encryption related network jobs to it's own file,
the original file was starting to be just way too big.
2017-12-12 19:36:47 +01:00
Tomaz Canabrava 0a58ea76e5 [CSE] Start the work with an existing metadata 2017-12-12 15:35:53 +01:00
Tomaz Canabrava 0a83d3e743 [CSE] Fix reading the public key for the metadata
This broke when we started to use QSslKey and the Qt Keychain
framework.
2017-12-08 11:24:22 +01:00
Tomaz Canabrava 7fe4dd2163 [CSE] Renane GetFolderEncryptStatus to GetFolderEncryptStatusJob
it's a network job after all
2017-12-07 18:06:55 +01:00
Tomaz Canabrava 863e86138f [CSE] Pass the folder to the GetEncryptionStatus
Sometimes we are only interested in folders.
2017-12-07 17:32:35 +01:00
Tomaz Canabrava 6f35cbff6b [CSE] Fetch the Folder information for encryption status 2017-12-04 22:27:13 +01:00
Roeland Jago Douma 0f60deb043
Store and retrieve keys in keychain
* Store privatekey, certificate and mnemonic in keychain
* Retrieve private + public key from server
  - ask for mnemonic to decrypt private key

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-28 12:36:35 +01:00
Tomaz Canabrava 47b5cd0fbb [CSE] Shows correctly Encrypt / Decrypt in the menu 2017-11-27 21:19:54 +01:00
Tomaz Canabrava d2d2df4c75 [CSE] Try to find the webdav url of a folder. 2017-11-27 21:06:38 +01:00
Roeland Jago Douma ffb9f69cf6
Start with moving data to the keychain
* Check for cert + privateKey in keychain
* Work with QSslKey and QSslCertificate
* Abstract reading the BIO's a bit more

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:21:53 +01:00
Roeland Jago Douma 74c4d27ea0
Indent
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:12:56 +01:00
Roeland Jago Douma 9cbe795045
Move more encryption functions to encryption helper
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-25 21:43:15 +01:00
Tomaz Canabrava 45d9323653 [CSE] Update encryption status when folder is updated 2017-11-23 16:55:12 +01:00
Tomaz Canabrava a118419f0c [CSE] buildfix, use the correct type. 2017-11-21 09:55:44 +01:00
Tomaz Canabrava d31aa7836a [CSE] Add job to find what folders are encrypted.
This still needs to be correctly setuped in the call chain.
The job returns a QVariantMap with the folder-webdav-url
and the encrypted status.
2017-11-20 21:38:17 +01:00
Tomaz Canabrava 6351c01ee7 [CSE] Remember the token for folders 2017-11-13 17:04:02 +01:00
Tomaz Canabrava 22a2ab8999 [CSE] Start to send the metadata to the server 2017-11-13 16:46:30 +01:00
Tomaz Canabrava 4755b8c8a3 [CSE] More warnings 2017-11-12 13:03:52 +01:00
Tomaz Canabrava be9cd358d4 [CSE] Bypass Qt DELETE Bug
It appears that Qt implementation of the DELETE http request
does not send bodyData, and we need that for Nextcloud.
Currently I changed the http request on the server side
to accept a POST instead of a DELETE, so I can actually
develop.

Also, I already poked the Qt developers that did this code.
2017-11-03 17:00:28 +01:00
Tomaz Canabrava b53003792f [CSE] Removed lambdas for Metadata / Lock / Unlock 2017-11-03 12:34:30 +01:00
Tomaz Canabrava 6facd29663 [CSE] Start to break the lambdas
Lambda within a lambda is a terrible idea,
Use default signal / slot connections with a
method instead.
2017-11-03 12:00:25 +01:00
Tomaz Canabrava 8d537fdd3c [CSE] Get Metadata from the server 2017-11-01 18:32:33 +01:00
Tomaz Canabrava 4a66cf11d2 [CSE] Send Metadata to the server 2017-11-01 18:21:30 +01:00
Tomaz Canabrava 2698759525 [CSE] Implement the Folder Unlock api job 2017-11-01 17:54:17 +01:00
Tomaz Canabrava 1b1add5ead [CSE] Add api to lock file 2017-11-01 17:36:54 +01:00
Tomaz Canabrava 88d87bf0ca [CSE] Convert encrypted bitearray to Base64
also, start the decrypt.
2017-11-01 14:46:32 +01:00
Tomaz Canabrava 3628f3739d [CSE] Start the decryption of the metadata 2017-10-31 13:06:20 +01:00
Tomaz Canabrava c7d9abbea3 [CSE] Rework pubkeyPath to be able to fetch pubKey 2017-10-30 20:02:55 +01:00
Tomaz Canabrava cf56d58241 [CSE] Start the encryption of the metadataKey 2017-10-30 19:05:55 +01:00
Tomaz Canabrava c695c50c33 [CSE] Implement the empty metadata
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-30 15:40:05 +01:00
Tomaz Canabrava 476fe66043 [CSE] Add beginnign of the code to deal with the metadata 2017-10-23 21:06:26 +02:00
Tomaz Canabrava 23f5bb7ed9 [CSE] Move network jobs out of networkjobs.h
Since those networkjobs are all about client side
encryption, mvoe them to clientsideencryption.h
This will help with fewer conflicts with the origin.
2017-10-23 21:06:26 +02:00
Tomaz Canabrava 1a47052aa3
[CSE] Remove unused function
This is already being called from somwhere else.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava 623eb29845
[CSE] Helper functions for the URL's 2017-10-18 21:51:39 +02:00
Tomaz Canabrava 5395fc56b1
[cse] Start the encryption algorithm for the Private Key 2017-10-18 21:51:38 +02:00
Tomaz Canabrava d2992d92ba
[cse] Generate the CSE
I still need to send it to the server. It's been a long
learning with the OpenSSL library.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava 42a3098595
[cse] s/scr/csr 2017-10-18 21:51:37 +02:00
Tomaz Canabrava 8c342cb1dd
[cse] Generate the KeyPair
Not stored anywhere yet, but it's correctly running.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava 17693a75e5
[cse] Request public key from server
This is the first step needed to properly communicate.
Next, get private key.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava 29b64640fa
[cse] Start to fetch the basics to fetch the key from the server 2017-10-18 21:51:37 +02:00
Tomaz Canabrava 3f4d915a17
[cse] Add files to handle client side encryption
This will be the responsible for encryption,
decryption and talking with the server.
2017-10-18 21:51:36 +02:00