aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/ChangeLog4
-rwxr-xr-xtools/gpgsm-gencert.sh36
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"