1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

agent: Add option --pss to pksign to be used by smartcards.

* agent/command.c (cmd_sethash): Add option --pss and allow for
--hash=null.
* agent/agent.h (struct server_control_s): Add digest.is_pss and
zero where needed.
* agent/pksign.c (agent_pksign_do): Allow for PSS with cards.
* scd/command.c (cmd_pksign): Add for --hash=none.
--

This is not a full implementaion of PSS but allows scdaemon card
drivers to detect already PSS formatted data.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2020-08-10 10:01:03 +02:00
parent 373c975859
commit bb096905b9
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
5 changed files with 31 additions and 8 deletions

View file

@ -891,7 +891,7 @@ pin_cb (void *opaque, const char *info, char **retstr)
static const char hlp_pksign[] =
"PKSIGN [--hash=[rmd160|sha{1,224,256,384,512}|md5]] <hexified_id>\n"
"PKSIGN [--hash=[rmd160|sha{1,224,256,384,512}|md5|none]] <hexified_id>\n"
"\n"
"The --hash option is optional; the default is SHA1.";
static gpg_error_t
@ -920,6 +920,8 @@ cmd_pksign (assuan_context_t ctx, char *line)
hash_algo = GCRY_MD_SHA512;
else if (has_option (line, "--hash=md5"))
hash_algo = GCRY_MD_MD5;
else if (has_option (line, "--hash=none")) /* For raw RSA. */
hash_algo = 0;
else if (!strstr (line, "--"))
hash_algo = GCRY_MD_SHA1;
else