aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2018-02-20 21:03:23 +0800
committerAaron LI <aly@aaronly.me>2018-02-20 21:03:23 +0800
commit607ca8f9a2252f9d93e9ce1b6af792ac75d3951c (patch)
tree11661b2c01654151aafcf6def3a8fbdc22064921
parent5f8ba88f1666f62c9e3bc07f17f26bbf9e5187b5 (diff)
downloaddotfiles-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-xbin/gpg2-x1118
-rwxr-xr-xbin/pinentry34
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: #