diff options
Diffstat (limited to 'tools/gpgsm-gencert.sh')
-rwxr-xr-x | tools/gpgsm-gencert.sh | 36 |
1 files changed, 22 insertions, 14 deletions
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" |