throws exception from initPGP

This commit is contained in:
Bob Sun 2017-02-06 00:59:27 +08:00
parent c4a8751bd8
commit 452316d909
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
2 changed files with 18 additions and 21 deletions

View file

@ -70,20 +70,14 @@ class PasswordStore {
}
func initPGP(pgpKeyURL: URL, pgpKeyLocalPath: String) -> Bool {
do {
let pgpData = try Data(contentsOf: pgpKeyURL)
try pgpData.write(to: URL(fileURLWithPath: pgpKeyLocalPath), options: .atomic)
pgp.importKeys(fromFile: pgpKeyLocalPath, allowDuplicates: false)
let key = pgp.keys[0]
Defaults[.pgpKeyID] = key.keyID!.shortKeyString
if let gpgUser = key.users[0] as? PGPUser {
Defaults[.pgpKeyUserID] = gpgUser.userID
}
return true
} catch {
print("error")
return false
func initPGP(pgpKeyURL: URL, pgpKeyLocalPath: String) throws {
let pgpData = try Data(contentsOf: pgpKeyURL)
try pgpData.write(to: URL(fileURLWithPath: pgpKeyLocalPath), options: .atomic)
pgp.importKeys(fromFile: pgpKeyLocalPath, allowDuplicates: false)
let key = pgp.keys[0]
Defaults[.pgpKeyID] = key.keyID!.shortKeyString
if let gpgUser = key.users[0] as? PGPUser {
Defaults[.pgpKeyUserID] = gpgUser.userID
}
}

View file

@ -82,14 +82,17 @@ class SettingsTableViewController: UITableViewController {
SVProgressHUD.setDefaultMaskType(.black)
SVProgressHUD.show(withStatus: "Fetching PGP Key")
DispatchQueue.global(qos: .userInitiated).async {
let ret = PasswordStore.shared.initPGP(pgpKeyURL: Defaults[.pgpKeyURL]!, pgpKeyLocalPath: Globals.shared.secringPath)
DispatchQueue.main.async {
if ret {
do {
try PasswordStore.shared.initPGP(pgpKeyURL: Defaults[.pgpKeyURL]!, pgpKeyLocalPath: Globals.shared.secringPath)
DispatchQueue.main.async {
SVProgressHUD.showSuccess(withStatus: "Success")
} else {
SVProgressHUD.showError(withStatus: "Error")
}
SVProgressHUD.dismiss(withDelay: 1)
}
} catch {
DispatchQueue.main.async {
SVProgressHUD.showError(withStatus: error.localizedDescription)
SVProgressHUD.dismiss(withDelay: 3)
}
}
}
}