Marino Faggiana 1 year ago
parent
commit
d9858507d9

+ 0 - 107
iOSClient/Networking/E2EE/NCEndToEndMetadata.swift

@@ -26,113 +26,6 @@ import NextcloudKit
 
 class NCEndToEndMetadata: NSObject {
 
-    struct E2eeV1: Codable {
-
-        struct Metadata: Codable {
-            let metadataKeys: [String: String]
-            let version: Double
-        }
-
-        struct Encrypted: Codable {
-            let key: String
-            let filename: String
-            let mimetype: String
-        }
-
-        struct Files: Codable {
-            let initializationVector: String
-            let authenticationTag: String?
-            let metadataKey: Int
-            let encrypted: String
-        }
-
-        let metadata: Metadata
-        let files: [String: Files]?
-    }
-
-    struct E2eeV12: Codable {
-
-        struct Metadata: Codable {
-            let metadataKey: String
-            let version: Double
-            let checksum: String?
-        }
-
-        struct Encrypted: Codable {
-            let key: String
-            let filename: String
-            let mimetype: String
-        }
-
-        struct Files: Codable {
-            let initializationVector: String
-            let authenticationTag: String?
-            let encrypted: String
-        }
-
-        struct Filedrop: Codable {
-            let initializationVector: String
-            let authenticationTag: String?
-            let encrypted: String
-            let encryptedKey: String?
-            let encryptedTag: String?
-            let encryptedInitializationVector: String?
-        }
-
-        let metadata: Metadata
-        let files: [String: Files]?
-        let filedrop: [String: Filedrop]?
-    }
-
-    struct E2eeV20: Codable {
-
-        struct Files: Codable {
-            let authenticationTag: String
-            let filename: String
-            let key: String
-            let mimetype: String
-            let nonce: String
-        }
-
-        struct ciphertext: Codable {
-            let counter: Int
-            let deleted: Bool?
-            let keyChecksums: [String]?
-            let files: [String: Files]?
-            let folders: [String: String]?
-        }
-
-        struct Metadata: Codable {
-            let ciphertext: String
-            let nonce: String
-            let authenticationTag: String
-        }
-
-        struct Users: Codable {
-            let userId: String
-            let certificate: String
-            let encryptedMetadataKey: String?
-            let encryptedFiledropKey: String?
-        }
-
-        struct Filedrop: Codable {
-            let ciphertext: String?
-            let nonce: String?
-            let authenticationTag: String?
-            let users: [String: UsersFiledrop]?
-
-            struct UsersFiledrop: Codable {
-                let userId: String?
-                let encryptedFiledropKey: String?
-            }
-        }
-
-        let metadata: Metadata
-        let users: [Users]?
-        let filedrop: [String: Filedrop]?
-        let version: String
-    }
-
     // --------------------------------------------------------------------------------------------
     // MARK: Encode JSON Metadata Bridge
     // --------------------------------------------------------------------------------------------

+ 58 - 0
iOSClient/Networking/E2EE/NCEndToEndMetadataV1.swift

@@ -24,6 +24,64 @@ import NextcloudKit
 
 extension NCEndToEndMetadata {
 
+    struct E2eeV1: Codable {
+
+        struct Metadata: Codable {
+            let metadataKeys: [String: String]
+            let version: Double
+        }
+
+        struct Encrypted: Codable {
+            let key: String
+            let filename: String
+            let mimetype: String
+        }
+
+        struct Files: Codable {
+            let initializationVector: String
+            let authenticationTag: String?
+            let metadataKey: Int
+            let encrypted: String
+        }
+
+        let metadata: Metadata
+        let files: [String: Files]?
+    }
+
+    struct E2eeV12: Codable {
+
+        struct Metadata: Codable {
+            let metadataKey: String
+            let version: Double
+            let checksum: String?
+        }
+
+        struct Encrypted: Codable {
+            let key: String
+            let filename: String
+            let mimetype: String
+        }
+
+        struct Files: Codable {
+            let initializationVector: String
+            let authenticationTag: String?
+            let encrypted: String
+        }
+
+        struct Filedrop: Codable {
+            let initializationVector: String
+            let authenticationTag: String?
+            let encrypted: String
+            let encryptedKey: String?
+            let encryptedTag: String?
+            let encryptedInitializationVector: String?
+        }
+
+        let metadata: Metadata
+        let files: [String: Files]?
+        let filedrop: [String: Filedrop]?
+    }
+
     // --------------------------------------------------------------------------------------------
     // MARK: Ecode JSON Metadata V1.2
     // --------------------------------------------------------------------------------------------

+ 49 - 0
iOSClient/Networking/E2EE/NCEndToEndMetadataV20.swift

@@ -27,6 +27,55 @@ import Gzip
 
 extension NCEndToEndMetadata {
 
+    struct E2eeV20: Codable {
+
+        struct Files: Codable {
+            let authenticationTag: String
+            let filename: String
+            let key: String
+            let mimetype: String
+            let nonce: String
+        }
+
+        struct ciphertext: Codable {
+            let counter: Int
+            let deleted: Bool?
+            let keyChecksums: [String]?
+            let files: [String: Files]?
+            let folders: [String: String]?
+        }
+
+        struct Metadata: Codable {
+            let ciphertext: String
+            let nonce: String
+            let authenticationTag: String
+        }
+
+        struct Users: Codable {
+            let userId: String
+            let certificate: String
+            let encryptedMetadataKey: String?
+            let encryptedFiledropKey: String?
+        }
+
+        struct Filedrop: Codable {
+            let ciphertext: String?
+            let nonce: String?
+            let authenticationTag: String?
+            let users: [String: UsersFiledrop]?
+
+            struct UsersFiledrop: Codable {
+                let userId: String?
+                let encryptedFiledropKey: String?
+            }
+        }
+
+        let metadata: Metadata
+        let users: [Users]?
+        let filedrop: [String: Filedrop]?
+        let version: String
+    }
+
     struct E2eeV20Signature: Codable {
 
         struct Metadata: Codable {