From 4bb7ebb6aaa6f79557cfed073bf15a3d3b32ccd9 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Tue, 31 Oct 2017 13:17:22 +0100 Subject: [PATCH] [CSE] Convert the base64 data to raw, for the decyrption --- src/libsync/clientsideencryption.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libsync/clientsideencryption.cpp b/src/libsync/clientsideencryption.cpp index 4444dbbfe5..96a4bbce87 100644 --- a/src/libsync/clientsideencryption.cpp +++ b/src/libsync/clientsideencryption.cpp @@ -776,9 +776,7 @@ std::string FolderMetadata::decryptMetadataKeys(const std::string& encryptedMeta { qCInfo(lcCse()) << "Starting to decrypt the metadata key"; unsigned char *out; - unsigned char *in; size_t outlen; - size_t inlen; int err = -1; auto path = privateKeyPath(_account); @@ -786,6 +784,12 @@ std::string FolderMetadata::decryptMetadataKeys(const std::string& encryptedMeta auto pkeyFile = fopen(pathC, "r"); auto key = PEM_read_PrivateKey(pkeyFile, NULL, NULL, NULL); + // Data is base64 encoded. + auto raw = QByteArray(encryptedMetadata.c_str(), encryptedMetadata.length()); + auto b64d = QByteArray::fromBase64(raw); + auto in = (unsigned char *) b64d.constData(); + size_t inlen = b64d.length(); + /* NB: assumes key in, inlen are already set up * and that key is an RSA private key */