mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
.
This commit is contained in:
parent
2a9f9d76a2
commit
7b8ea82ab6
20 changed files with 172 additions and 49 deletions
|
@ -1,3 +1,11 @@
|
|||
2006-10-23 Werner Koch <wk@g10code.com>
|
||||
|
||||
* gpgconf-comp.c <gpgsm>: Add --cipher-algo.
|
||||
|
||||
2006-10-20 Werner Koch <wk@g10code.com>
|
||||
|
||||
* gpgsm-gencert.sh: Enhanced the main menu.
|
||||
|
||||
2006-10-12 Werner Koch <wk@g10code.com>
|
||||
|
||||
* Makefile.am (gpg-zip, gpgsplit): Do not install due to a
|
||||
|
|
|
@ -676,6 +676,9 @@ static gc_option_t gc_options_gpgsm[] =
|
|||
{ "auto-issuer-key-retrieve", GC_OPT_FLAG_NONE, GC_LEVEL_BASIC,
|
||||
"gnupg", "fetch missing issuer certificates",
|
||||
GC_ARG_TYPE_NONE, GC_BACKEND_GPGSM },
|
||||
{ "cipher-algo", GC_OPT_FLAG_NONE, GC_LEVEL_ADVANCED,
|
||||
"gnupg", "|NAME|use cipher algorithm NAME",
|
||||
GC_ARG_TYPE_STRING, GC_BACKEND_GPGSM },
|
||||
|
||||
GC_OPTION_NULL
|
||||
};
|
||||
|
|
|
@ -84,29 +84,53 @@ query_user_menu()
|
|||
echo "You selected: $ANSWER" >&2
|
||||
}
|
||||
|
||||
query_user_menu "Key type" "RSA" "existing key" "OPENPGP.1" "OPENPGP.3"
|
||||
case "$ANSWER" in
|
||||
RSA)
|
||||
KEY_TYPE=$ANSWER
|
||||
query_user_menu "Key length" "1024" "2048"
|
||||
KEY_LENGTH=$ANSWER
|
||||
KEY_GRIP=
|
||||
;;
|
||||
existing*)
|
||||
# User requested to use an existing key; need to set some dummy defaults
|
||||
KEY_TYPE=RSA
|
||||
KEY_LENGTH=1024
|
||||
query_user "Keygrip "
|
||||
KEY_GRIP=$ANSWER
|
||||
;;
|
||||
*)
|
||||
KEY_TYPE="card:$ANSWER"
|
||||
KEY_LENGTH=
|
||||
KEY_GRIP=
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
KEY_TYPE=""
|
||||
while [ -z "$KEY_TYPE" ]; do
|
||||
query_user_menu "Key type" "RSA" "Existing key" "Direct from card"
|
||||
case "$ANSWER" in
|
||||
RSA)
|
||||
KEY_TYPE=$ANSWER
|
||||
query_user_menu "Key length" "1024" "2048"
|
||||
KEY_LENGTH=$ANSWER
|
||||
KEY_GRIP=
|
||||
;;
|
||||
Existing*)
|
||||
# User requested to use an existing key; need to set some dummy defaults
|
||||
query_user "Keygrip "
|
||||
if [ -n "$ANSWER" ]; then
|
||||
KEY_TYPE=RSA
|
||||
KEY_LENGTH=1024
|
||||
KEY_GRIP=$ANSWER
|
||||
fi
|
||||
;;
|
||||
Direct*)
|
||||
tmp=$(echo 'SCD SERIALNO' | gpg-connect-agent | \
|
||||
awk '$2 == "SERIALNO" {print $3}')
|
||||
if [ -z "$tmp" ]; then
|
||||
echo "No card found" >&2
|
||||
else
|
||||
echo "Card with S/N $tmp found" >&2
|
||||
tmp=$(echo 'SCD LEARN --force' | gpg-connect-agent | \
|
||||
awk '$2 == "KEYPAIRINFO" {printf " %s", $4}')
|
||||
sshid=$(echo 'SCD GETATTR $AUTHKEYID' | gpg-connect-agent | \
|
||||
awk '$2 == "$AUTHKEYID" {print $3}')
|
||||
[ -n "$sshid" ] && echo "gpg-agent uses $sshid as ssh key" >&2
|
||||
query_user_menu "Select key " $tmp "back"
|
||||
if [ "$ANSWER" != "back" ]; then
|
||||
KEY_TYPE="card:$ANSWER"
|
||||
KEY_LENGTH=
|
||||
KEY_GRIP=
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
query_user_menu "Key usage" "sign, encrypt" "sign" "encrypt"
|
||||
KEY_USAGE=$ANSWER
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue