diff options
author | Aaron LI <aly@aaronly.me> | 2018-02-20 21:03:23 +0800 |
---|---|---|
committer | Aaron LI <aly@aaronly.me> | 2018-02-20 21:03:23 +0800 |
commit | 607ca8f9a2252f9d93e9ce1b6af792ac75d3951c (patch) | |
tree | 11661b2c01654151aafcf6def3a8fbdc22064921 | |
parent | 5f8ba88f1666f62c9e3bc07f17f26bbf9e5187b5 (diff) | |
download | dotfiles-607ca8f9a2252f9d93e9ce1b6af792ac75d3951c.tar.bz2 |
gpg: add pinentry and gpg2-x11 shim scripts for zsh & gpg integration
Credit: https://blog.mrloop.com/workflow/2017/02/09/pin-entry.html
-rwxr-xr-x | bin/gpg2-x11 | 18 | ||||
-rwxr-xr-x | bin/pinentry | 34 |
2 files changed, 52 insertions, 0 deletions
diff --git a/bin/gpg2-x11 b/bin/gpg2-x11 new file mode 100755 index 0000000..db0d53f --- /dev/null +++ b/bin/gpg2-x11 @@ -0,0 +1,18 @@ +#!/bin/sh +# +# `gpg2` shim to support force use the graphical pinentry. +# See also: `~/bin/pinentry-app' +# +# Credit: http://blog.mrloop.com/workflow/2017/02/09/pin-entry.html +# +# Aaron LI +# 2018-01-13 +# + + +GPG2=$(which gpg2) +CFG=${XDG_RUNTIME_DIR}/pinentry-app +echo "x11" > ${CFG} +exec ${GPG2} "$@" + +# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh: # diff --git a/bin/pinentry b/bin/pinentry new file mode 100755 index 0000000..524bc59 --- /dev/null +++ b/bin/pinentry @@ -0,0 +1,34 @@ +#!/bin/sh +# +# PINentry shim to support both terminal and graphical usages. +# +# Credit: http://blog.mrloop.com/workflow/2017/02/09/pin-entry.html +# +# Aaron LI +# 2018-01-13 +# + +# GPG2 shim to support force use the graphical pinentry (`~/bin/gpg2-x11`). +# ------------------------------------------------------------------>8 +# #!/bin/sh +# GPG2=$(which gpg2) || exit 1 +# CFG=${XDG_RUNTIME_DIR}/pinentry-app +# echo "x11" > ${CFG} +# exec ${GPG2} "$@" +# ------------------------------------------------------------------>8 + +ENTRY_TERM="curses" # PIN entry variant for terminal (and default) +ENTRY_X11="gtk-2" # for X11 usage + +CFG=${XDG_RUNTIME_DIR}/pinentry-app +TYPE=$([ -f ${CFG} ] && cat ${CFG}) +if [ -n "${TYPE}" ] && [ "${TYPE}" = "x11" ]; then + ENTRY="${ENTRY_X11}" +else + ENTRY="${ENTRY_TERM}" +fi + +PINENTRY=$(which "pinentry-${ENTRY}") || exit 1 +exec ${PINENTRY} "$@" + +# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh: # |