@@ -162,6 +162,7 @@ void FolderMetadata::setupExistingMetadata(const QByteArray &metadata)
162
162
/ Can the attacker use outdated certificate as an attack vector?*/
163
163
folderUser.certificatePem = folderUserObject.value (usersCertificateKey).toString ().toUtf8 ();
164
164
folderUser.encryptedMetadataKey = QByteArray::fromBase64 (folderUserObject.value (usersEncryptedMetadataKey).toString ().toUtf8 ());
165
+ qCInfo (lcCseMetadata ()) << " folderUser.encryptedMetadataKey" << folderUser.encryptedMetadataKey .toBase64 ();
165
166
_folderUsers[userId] = folderUser;
166
167
}
167
168
@@ -190,8 +191,11 @@ void FolderMetadata::setupExistingMetadata(const QByteArray &metadata)
190
191
if (_folderUsers.contains (_account->davUser ())) {
191
192
const auto currentFolderUser = _folderUsers.value (_account->davUser ());
192
193
_e2eCertificateFingerprint = QSslCertificate{currentFolderUser.certificatePem }.digest (QCryptographicHash::Sha256).toBase64 ();
193
- _metadataKeyForEncryption = QByteArray::fromBase64 (decryptDataWithPrivateKey (currentFolderUser.encryptedMetadataKey , _e2eCertificateFingerprint));
194
+ _metadataKeyForEncryption = QByteArray::fromBase64 (decryptDataWithPrivateKey (currentFolderUser.encryptedMetadataKey .toBase64 (), _e2eCertificateFingerprint));
195
+ qCInfo (lcCseMetadata ()) << " _metadataKeyForEncryption" << _metadataKeyForEncryption.toBase64 ();
196
+ qCInfo (lcCseMetadata ()) << " _metadataKeyForEncryption" << _metadataKeyForEncryption;
194
197
_metadataKeyForDecryption = _metadataKeyForEncryption;
198
+ qCInfo (lcCseMetadata ()) << " _metadataKeyForDecryption" << _metadataKeyForDecryption.toBase64 ();
195
199
}
196
200
197
201
if (!parseFileDropPart (metaDataDoc)) {
@@ -448,12 +452,19 @@ QByteArray FolderMetadata::encryptDataWithPublicKey(const QByteArray &binaryData
448
452
QByteArray FolderMetadata::decryptDataWithPrivateKey (const QByteArray &base64Data,
449
453
const QByteArray &certificateFingerprint) const
450
454
{
455
+ qCInfo (lcCseMetadata ()) << " base64Data" << base64Data;
456
+ const auto certificateInfo = _account->e2e ()->getCertificateInformationByFingerprint (certificateFingerprint);
457
+ qCInfo (lcCseMetadata ()) << " _account->e2e()->_privateKey" << certificateInfo.getPrivateKeyData ().toBase64 ();
458
+
451
459
const auto decryptBase64Result = EncryptionHelper::decryptStringAsymmetric (_account->e2e ()->getCertificateInformationByFingerprint (certificateFingerprint), _account->e2e ()->paddingMode (), *_account->e2e (), base64Data);
452
460
if (!decryptBase64Result) {
453
461
qCDebug (lcCseMetadata ()) << " ERROR. Could not decrypt the metadata key" ;
454
462
_account->reportClientStatus (OCC::ClientStatusReportingStatus::E2EeError_GeneralError);
455
463
return {};
456
464
}
465
+
466
+ qCInfo (lcCseMetadata ()) << " decryptBase64Result" << (*decryptBase64Result);
467
+
457
468
return *decryptBase64Result;
458
469
}
459
470
0 commit comments