diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/ChangeLog | 4 | ||||
-rwxr-xr-x | tools/gpgsm-gencert.sh | 36 |
2 files changed, 26 insertions, 14 deletions
diff --git a/tools/ChangeLog b/tools/ChangeLog index de22a2ec6..5ed381049 100644 --- a/tools/ChangeLog +++ b/tools/ChangeLog @@ -1,3 +1,7 @@ +2006-10-11 Werner Koch <[email protected]> + + * gpgsm-gencert.sh: Allow generation of card keys. + 2006-10-08 Werner Koch <[email protected]> * Makefile.am (gpgkey2ssh_LDADD): Add LIBINTL. Suggested by diff --git a/tools/gpgsm-gencert.sh b/tools/gpgsm-gencert.sh index 3949f2361..19e961f03 100755 --- a/tools/gpgsm-gencert.sh +++ b/tools/gpgsm-gencert.sh @@ -84,19 +84,27 @@ query_user_menu() echo "You selected: $ANSWER" >&2 } -query_user_menu "Key type" "RSA" "existing key" -if [ "$ANSWER" = "existing key" ]; then - # 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 -else - KEY_TYPE=$ANSWER - query_user_menu "Key length" "1024" "2048" - KEY_LENGTH=$ANSWER - KEY_GRIP= -fi +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 query_user_menu "Key usage" "sign, encrypt" "sign" "encrypt" @@ -162,7 +170,7 @@ query_user_menu "Really create such a CSR?" "yes" "no" echo -e "$ASSUAN_COMMANDS" | \ - gpgsm --no-log-file --debug-level none --debug-none \ + gpgsm --no-log-file --debug-level none --debug-none \ --server 4< "$file_parameter" 5>"$outfile" >/dev/null cat "$outfile" |