32a16dcd8d
Add check for public keys of all message recipients (to, cc, and bcc) before sending the message. Adds an OnFocusLost callback to header editors to facilitate a callback for checking keys whenever a new recipient is added (OnChange results in too many keyring checks). Once encryption is initially set, the callbacks are registered. If a public key is not available for any recipient, encryption is turned off. However, notably, the callbacks are still registered meaning as s soon as the user removes the recipients with missing keys, encryption is turned back on. Signed-off-by: Tim Culverhouse <tim@timculverhouse.com> Tested-by: Koni Marti <koni.marti@gmail.com>
23 lines
464 B
Go
23 lines
464 B
Go
package gpgbin
|
|
|
|
import "fmt"
|
|
|
|
// GetPrivateKeyId runs gpg --list-secret-keys s
|
|
func GetPrivateKeyId(s string) (string, error) {
|
|
private := true
|
|
id := getKeyId(s, private)
|
|
if id == "" {
|
|
return "", fmt.Errorf("no private key found")
|
|
}
|
|
return id, nil
|
|
}
|
|
|
|
// GetKeyId runs gpg --list-keys s
|
|
func GetKeyId(s string) (string, error) {
|
|
private := false
|
|
id := getKeyId(s, private)
|
|
if id == "" {
|
|
return "", fmt.Errorf("no public key found")
|
|
}
|
|
return id, nil
|
|
}
|