Add ignore .gpg-id switch default ON

This commit is contained in:
Mingshen Sun 2021-01-07 21:58:38 -08:00
parent 6280b1522b
commit a62792bd11
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
9 changed files with 91 additions and 13 deletions

View file

@ -70,9 +70,16 @@ struct GopenPGPInterface: PGPInterface {
privateKeys.keys.contains { key in key.hasSuffix(keyID.lowercased()) }
}
func decrypt(encryptedData: Data, keyID: String, passphrase: String) throws -> Data? {
guard let key = privateKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) }),
let privateKey = privateKeys[key.key] else {
func decrypt(encryptedData: Data, keyID: String?, passphrase: String) throws -> Data? {
let key: CryptoKey? = {
if let keyID = keyID {
return privateKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) })?.value
} else {
return privateKeys.first?.value
}
}()
guard let privateKey = key else {
throw AppError.decryption
}
@ -94,9 +101,16 @@ struct GopenPGPInterface: PGPInterface {
}
}
func encrypt(plainData: Data, keyID: String) throws -> Data {
guard let key = publicKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) }),
let publicKey = publicKeys[key.key] else {
func encrypt(plainData: Data, keyID: String?) throws -> Data {
let key: CryptoKey? = {
if let keyID = keyID {
return publicKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) })?.value
} else {
return publicKeys.first?.value
}
}()
guard let publicKey = key else {
throw AppError.encryption
}