Add new 'default' command to manual-test script to set default-key name. Usefull with backup

pull/107/head
Charles-Edouard de la Vergne 2 months ago
parent a63596b00f
commit f8bdb5dd8f
No known key found for this signature in database
GPG Key ID: F12296941B7BB9C6

@ -24,8 +24,8 @@ help() {
echo
echo "Options:"
echo
echo " -c <init|reset|card|encrypt|decrypt|sign|verify> : Requested command"
echo " -e : Expert mode mode"
echo " -c <init|reset|card|encrypt|decrypt|sign|verify|default> : Requested command"
echo " -e : Expert mode"
echo " -v : Verbose mode"
echo " -h : Displays this help"
echo
@ -42,6 +42,30 @@ reset() {
killall scdaemon gpg-agent 2>/dev/null
}
#===============================================================================
#
# default - Set default key in conf file
#
#===============================================================================
default() {
dir=$(basename "${gnupg_home_dir}")
if [[ ! -d "${dir}" ]]; then
mkdir "${dir}"
chmod 700 "${dir}"
fi
recipient=$(gpg --homedir "${gnupg_home_dir}" --card-status | grep "General key info" | awk '{print $NF}')
if [[ ${recipient} =~ "none" ]]; then
read -r -p "Enter default key name: " recipient
fi
{
echo "default-key ${recipient}"
echo "default-recipient ${recipient}"
} > "${dir}/gpg.conf"
}
#===============================================================================
#
# init - Init the gnupg config, start from an empty keyring
@ -93,19 +117,15 @@ card() {
#
#===============================================================================
encrypt() {
local recipient=""
local verbose_mode=""
reset
rm -fr foo*
echo CLEAR > foo.txt
[[ ${VERBOSE} == true ]] && verbose_mode="--verbose"
recipient=$(gpg --homedir "${gnupg_home_dir}" --card-status | grep "General key info" | awk '{print $NF}')
echo "Encrypt with recipient '${recipient}'"
gpg --homedir "${gnupg_home_dir}" ${verbose_mode} --encrypt --recipient "${recipient}" foo.txt
gpg --homedir "${gnupg_home_dir}" ${verbose_mode} --encrypt foo.txt
}
#===============================================================================
@ -123,8 +143,7 @@ decrypt() {
gpg --homedir "${gnupg_home_dir}" ${verbose_mode} --decrypt foo.txt.gpg > foo_dec.txt
# Check with original clear file
diff foo.txt foo_dec.txt >/dev/null
if [[ $? -eq 0 ]]; then
if diff foo.txt foo_dec.txt >/dev/null; then
echo "Success !"
else
echo "Decryption error!"
@ -180,7 +199,7 @@ while getopts ":c:evh" opt; do
c)
case ${OPTARG} in
init|reset|card|encrypt|decrypt|sign|verify)
init|reset|card|encrypt|decrypt|sign|verify|default)
CMD=${OPTARG}
;;
*)

Loading…
Cancel
Save