| Server IP : 54.233.248.239 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/cryptsetup/scripts/ |
Upload File : |
#!/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 $?