#!/bin/sh if [ -d "/cryptroot/gnupghome" ]; then export GNUPGHOME="/cryptroot/gnupghome" fi run_gpg() { gpg --no-options --trust-model=always "$@" } decrypt_gpg () { local console _ if ! GPG_TTY="$(tty)"; then read console _ </proc/consoles GPG_TTY="/dev/$console" fi export GPG_TTY if ! run_gpg --decrypt -- "$1"; then return 1 fi return 0 } # `gpg-connect-agent LEARN /bye` is another (lighter) way, but it's # harder to retrieve the return code if ! run_gpg --batch --quiet --no-tty --card-status >/dev/null; then echo "Please insert OpenPGP SmartCard..." >&2 until run_gpg --batch --quiet --no-tty --card-status; do sleep 1 done >/dev/null 2>&1 fi if [ ! -x /usr/bin/gpg ]; then echo "$0: /usr/bin/gpg is not available" >&2 exit 1 fi if [ -z "$1" ] || [ ! -f "$1" ]; then echo "$0: missing key as argument" >&2 exit 1 fi decrypt_gpg "$1" exit $?
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
decrypt_derived | File | 1.08 KB | 0755 |
|
decrypt_gnupg | File | 570 B | 0755 |
|
decrypt_gnupg-sc | File | 953 B | 0755 |
|
decrypt_keyctl | File | 1.99 KB | 0755 |
|
decrypt_opensc | File | 1.36 KB | 0755 |
|
decrypt_ssl | File | 347 B | 0755 |
|
passdev | File | 14.3 KB | 0755 |
|