]> git.nbdom.net Git - nb.git/commitdiff
etc/profile.d/gpg.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 30 Apr 2025 23:04:03 +0000 (01:04 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 30 Apr 2025 23:04:03 +0000 (01:04 +0200)
etc/profile.d/gpg.sh

index 6568f841d48085e845f5853003b1a88ba7d55901..20d34b773fc68476621cdbcc2843e959fc1f831b 100644 (file)
@@ -1,5 +1,6 @@
 which gpg >/dev/null 2>&1 || return
 export GPG_TTY=$(tty)
+
 gpg_import_ssh() {
        local usage="gpg_import_host HOST"
        local host=${1:?$usage}
@@ -7,3 +8,26 @@ gpg_import_ssh() {
        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
+}