diff --git a/enzevalos_iphone/SwiftPGP.swift b/enzevalos_iphone/SwiftPGP.swift index 3d64c20a3f46cbb48b1d118a90c7fcda00e3266e..e4ab8e5ce5b4a77508473163fdc658d040ba10e4 100644 --- a/enzevalos_iphone/SwiftPGP.swift +++ b/enzevalos_iphone/SwiftPGP.swift @@ -316,16 +316,20 @@ class SwiftPGP: Encryption { return readKeys(data: data, importDate: importDate) } - private func storeMultipleKeys(keys: [Key], pw: String?, secret: Bool )-> [String]{ + private func storeMultipleKeys(keys: [Key], pw: String?, secret: Bool)-> [String] { var ids = [String]() let keyring = Keyring() // merge secret and public keys keyring.import(keys: keys) let newKeys = keyring.keys - for k in newKeys{ - if k.isSecret && secret || !k.isSecret && !secret{ - ids.append(storeKey(key: k)) - if let password = pw{ + for k in newKeys { + if k.isSecret && secret || !k.isSecret && !secret { + let id = storeKey(key: k) + ids.append(id) + if k.isSecret && secret { + findMailForSecretKey(keyID: id) + } + if let password = pw { pwKeyChain[k.keyID.longIdentifier] = password } } @@ -335,7 +339,7 @@ class SwiftPGP: Encryption { func store(tempKeys: [TempKey]) -> [String] { var ids: [String] = [] - tempKeys.forEach{ + tempKeys.forEach { ids.append(contentsOf: storeMultipleKeys(keys: [$0.key!], pw: $0.password, secret: $0.isSecret)) } return ids