mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
sm: Support generation of card-based ed25519 CSR.
* sm/call-agent.c (gpgsm_scd_pksign): Allow SHA512. Create proper S-expression for EdDSA signature. * sm/certreqgen.c (create_request): Force use of SHA512 when using a ed25519 key. * sm/misc.c (transform_sigval): Insert OID for ed25519. -- GnuPG-bug-id: 4013 Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
This commit is contained in:
parent
74e9b579ca
commit
3cbdf896e6
3 changed files with 19 additions and 4 deletions
|
@ -354,6 +354,7 @@ gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc,
|
|||
case GCRY_MD_RMD160:hashopt = "--hash=rmd160"; break;
|
||||
case GCRY_MD_MD5: hashopt = "--hash=md5"; break;
|
||||
case GCRY_MD_SHA256:hashopt = "--hash=sha256"; break;
|
||||
case GCRY_MD_SHA512:hashopt = "--hash=sha512"; break;
|
||||
default:
|
||||
return gpg_error (GPG_ERR_DIGEST_ALGO);
|
||||
}
|
||||
|
@ -417,6 +418,12 @@ gpgsm_scd_pksign (ctrl_t ctrl, const char *keyid, const char *desc,
|
|||
sigbuflen/2, sigbuf + sigbuflen/2);
|
||||
break;
|
||||
|
||||
case GCRY_PK_EDDSA:
|
||||
rc = gcry_sexp_build (&sig, NULL, "(sig-val(eddsa(r%b)(s%b)))",
|
||||
sigbuflen/2, sigbuf,
|
||||
sigbuflen/2, sigbuf + sigbuflen/2);
|
||||
break;
|
||||
|
||||
default:
|
||||
rc = gpg_error (GPG_ERR_WRONG_PUBKEY_ALGO);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue