Diffusion GnuPG 5bf1212000f4

scd: Store a new PIV public key in the certificate DO.

Authored by werner on Feb 7 2019, 4:13 PM.

Description

scd: Store a new PIV public key in the certificate DO.

* scd/app-piv.c (struct genkey_result_s): Remove type and all users.
(send_keypair_and_cert_info): Print certinfo only if we got a cert..
(readcert_by_tag): Add arg r_mechanism and implement reading of public
keys.
(get_keygrip_by_tag): Use a public key to compute the keygrip.
(do_readcert): Make sure to only return a certificate.
(do_readkey): Read public key from the DO if a certificate is missing.
(get_key_algorithm_by_dobj): Get the algorithm also from a public key.
(does_key_exist): String changes.
(do_genkey): Remove result caching and store public key in the DO.

This removes the result cache and instead stores the public key in the
certificate object. This allows to properly list public keys at any
time after generating a key and before a new certificate is stored
there.

  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Committed
wernerFeb 7 2019, 4:14 PM
Parents
rGfcec5b40e589: card: Support reading and writing PIV certificates
Branches
Unknown
Tags
Unknown