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

coding

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana преди 2 години
родител
ревизия
1771ce8693

+ 1 - 2
iOSClient/Networking/E2EE/NCEndToEndEncryption.h

@@ -41,8 +41,7 @@
 - (NSData *)decryptAsymmetricData:(NSData *)cipherData privateKey:(NSString *)privateKey;
 
 - (NSString *)encryptEncryptedJson:(NSString *)encrypted key:(NSString *)key;
-- (NSString *)decryptEncryptedJson:(NSString *)encrypted key:(NSString *)key;
-- (NSData *)decryptEncryptedJsonV12:(NSString *)encrypted key:(NSString *)key;
+- (NSData *)decryptEncryptedJson:(NSString *)encrypted key:(NSString *)key;
 
 - (void)encryptkey:(NSString **)key initializationVector:(NSString **)initializationVector;
 - (BOOL)encryptFile:(NSString *)fileName fileNameIdentifier:(NSString *)fileNameIdentifier directory:(NSString *)directory key:(NSString **)key initializationVector:(NSString **)initializationVector authenticationTag:(NSString **)authenticationTag;

+ 1 - 40
iOSClient/Networking/E2EE/NCEndToEndEncryption.m

@@ -456,47 +456,8 @@
     return nil;
 }
 
-- (NSString *)decryptEncryptedJson:(NSString *)encrypted key:(NSString *)key
-{
-    NSMutableData *plainData;
-    NSRange range = [encrypted rangeOfString:IV_DELIMITER_ENCODED];
-    if (range.location == NSNotFound) {
-        range = [encrypted rangeOfString:IV_DELIMITER_ENCODED_OLD];
-        if (range.location == NSNotFound) {
-            return nil;
-        }
-    }
-
-    // Cipher
-    NSString *cipher = [encrypted substringToIndex:(range.location)];
-    NSData *cipherData = [[NSData alloc] initWithBase64EncodedString:cipher options:0];
-
-    // Key
-    NSData *keyData = [[NSData alloc] initWithBase64EncodedString:key options:0];
-
-    // IV
-    NSString *iv  = [encrypted substringWithRange:NSMakeRange(range.location + range.length, encrypted.length - (range.location + range.length))];
-    NSData *ivData = [[NSData alloc] initWithBase64EncodedString:iv options:0];
-
-    // TAG
-    NSString *tag = [cipher substringWithRange:NSMakeRange(cipher.length - AES_GCM_TAG_LENGTH, AES_GCM_TAG_LENGTH)];
-    NSData *tagData = [[NSData alloc] initWithBase64EncodedString:tag options:0];
-
-    BOOL result = [self decryptData:cipherData plainData:&plainData keyData:keyData keyLen:AES_KEY_128_LENGTH ivData:ivData tagData:tagData];
-
-    if (plainData != nil && result) {
-
-        /* DENCODE 64 JAVA compatibility            */
-        NSString *plain = [self base64DecodeData:plainData];
-        /* ---------------------------------------- */
-
-        return plain;
-    }
-
-    return nil;
-}
 
-- (NSData *)decryptEncryptedJsonV12:(NSString *)encrypted key:(NSString *)key
+- (NSData *)decryptEncryptedJson:(NSString *)encrypted key:(NSString *)key
 {
     NSMutableData *plainData;
     NSRange range = [encrypted rangeOfString:IV_DELIMITER_ENCODED];

+ 4 - 4
iOSClient/Networking/E2EE/NCEndToEndMetadata.swift

@@ -238,10 +238,10 @@ class NCEndToEndMetadata: NSObject {
                     let metadataKeyIndex = files.metadataKey
                     let initializationVector = files.initializationVector
 
-                    if let encrypted = NCEndToEndEncryption.sharedManager().decryptEncryptedJson(encrypted, key: metadataKey),
-                       let encryptedData = encrypted.data(using: .utf8) {
+                    if let decrypted = NCEndToEndEncryption.sharedManager().decryptEncryptedJson(encrypted, key: metadataKey),
+                       let decryptedData = Data(base64Encoded: decrypted) {
                         do {
-                            let encrypted = try decoder.decode(E2eeV1.Encrypted.self, from: encryptedData)
+                            let encrypted = try decoder.decode(E2eeV1.Encrypted.self, from: decryptedData)
 
                             if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND fileName == %@", account, fileNameIdentifier)) {
 
@@ -406,7 +406,7 @@ class NCEndToEndMetadata: NSObject {
                     let authenticationTag = files.authenticationTag
                     let initializationVector = files.initializationVector
 
-                    if let decrypted = NCEndToEndEncryption.sharedManager().decryptEncryptedJsonV12(encrypted, key: metadataKey),
+                    if let decrypted = NCEndToEndEncryption.sharedManager().decryptEncryptedJson(encrypted, key: metadataKey),
                        let decryptedData = Data(base64Encoded: decrypted) {
                         do {
                             let encrypted = try decoder.decode(E2eeV12.Encrypted.self, from: decryptedData)