which gpg >/dev/null 2>&1 || return
export GPG_TTY=$(tty)
+
gpg_import_ssh() {
local usage="gpg_import_host HOST"
local host=${1:?$usage}
ssh -t "$host" 'install -m 600 /dev/null "'$tmp'" && GPG_TTY=$(tty) gpg --armor --export-secret-keys -o "'$tmp'"'
ssh "$host" 'cat "'$tmp'" && rm "'$tmp'"' | gpg --import --allow-secret-key-import
}
+
+gpg_change_password() {
+ echo "Enter old password:"
+ read -s -p "Enter old password:" old
+ read -s -p "Enter new password:" new
+ read -s -p "Enter new password again:" new2
+ if [ "$new" != "$new2" ]
+ then
+ echo New password differs
+ return 1
+ fi
+ return
+ gpg --batch --passphrase-fd 0 --pinentry-mode loopback --change-passphrase KEY_ID <<EOF
+$old
+$new
+$new
+EOF
+}
+
+gpg_test_password() {
+ gpgconf --reload gpg-agent
+ echo "" | gpg --quiet --pinentry-mode loopback --clearsign && echo OK || echo ERR
+}