Преглед на файлове

Restore the symmetry between *StringSymmetric functions

If we receive data without base64 encoding for encryption, it makes
sense to get it without base64 encoding out of decryption.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
Kevin Ottens преди 5 години
родител
ревизия
54a19945fd
променени са 2 файла, в които са добавени 5 реда и са изтрити 5 реда
  1. 3 3
      src/libsync/clientsideencryption.cpp
  2. 2 2
      test/testclientsideencryption.cpp

+ 3 - 3
src/libsync/clientsideencryption.cpp

@@ -515,7 +515,7 @@ QByteArray decryptStringSymmetric(const QByteArray& key, const QByteArray& data)
         return QByteArray();
     }
 
-    return QByteArray(ptext, plen);
+    return QByteArray::fromBase64(QByteArray(ptext, plen));
 }
 
 QByteArray privateKeyToPem(const QByteArray key) {
@@ -1288,7 +1288,7 @@ void FolderMetadata::setupExistingMetadata(const QByteArray& metadata)
   // Cool, We actually have the key, we can decrypt the rest of the metadata.
   qCDebug(lcCse) << "Sharing: " << sharing;
   if (sharing.size()) {
-      auto sharingDecrypted = QByteArray::fromBase64(decryptJsonObject(sharing, _metadataKeys.last()));
+      auto sharingDecrypted = decryptJsonObject(sharing, _metadataKeys.last());
       qCDebug(lcCse) << "Sharing Decrypted" << sharingDecrypted;
 
       //Sharing is also a JSON object, so extract it and populate.
@@ -1313,7 +1313,7 @@ void FolderMetadata::setupExistingMetadata(const QByteArray& metadata)
         //Decrypt encrypted part
         QByteArray key = _metadataKeys[file.metadataKey];
         auto encryptedFile = fileObj["encrypted"].toString().toLocal8Bit();
-        auto decryptedFile = QByteArray::fromBase64(decryptJsonObject(encryptedFile, key));
+        auto decryptedFile = decryptJsonObject(encryptedFile, key);
         auto decryptedFileDoc = QJsonDocument::fromJson(decryptedFile);
         auto decryptedFileObj = decryptedFileDoc.object();
 

+ 2 - 2
test/testclientsideencryption.cpp

@@ -88,8 +88,8 @@ private slots:
         const auto originalData = QByteArrayLiteral("bar");
         const auto cipher = EncryptionHelper::encryptStringSymmetric(encryptionKey, originalData);
 
-        // WHEN (not it is still in base64 when returned)
-        const auto data = QByteArray::fromBase64(EncryptionHelper::decryptStringSymmetric(encryptionKey, cipher));
+        // WHEN
+        const auto data = EncryptionHelper::decryptStringSymmetric(encryptionKey, cipher);
 
         // THEN
         QCOMPARE(data, originalData);