From 9a9cb0257aebb1480b999fdf9d90904083eb8e3c Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 6 Feb 2019 14:07:42 +0100 Subject: scd: Make app_genkey and supporting ISO function more flexible. * scd/app.c (app_genkey): Add arg keytype. * scd/app-common.h (struct app_ctx_s): Fitto for the genkey member. * scd/command.c (cmd_genkey): Adjust for change. * scd/iso7816.c (do_generate_keypair): Replace arg read_only by new args p1 and p2. (iso7816_read_public_key): Adjust for this. (iso7816_generate_keypair): Add new args p1 and p2. * scd/app-openpgp.c (do_genkey): Adjust for changes. -- The OpenPGP card creates keys according to parameters read from a data object. Other cards we are about to implement require a direct specification of the requested keytype. This patch implements the required changes. Signed-off-by: Werner Koch --- scd/command.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'scd/command.c') diff --git a/scd/command.c b/scd/command.c index fb0ba98fc..8fd6ba55d 100644 --- a/scd/command.c +++ b/scd/command.c @@ -1190,7 +1190,8 @@ cmd_genkey (assuan_context_t ctx, char *line) keyno = xtrystrdup (keyno); if (!keyno) return out_of_core (); - rc = app_genkey (ctrl->app_ctx, ctrl, keyno, force? 1:0, + rc = app_genkey (ctrl->app_ctx, ctrl, keyno, NULL, + force? APP_GENKEY_FLAG_FORCE : 0, timestamp, pin_cb, ctx); xfree (keyno); -- cgit