mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
* call-agent.c (gpgsm_agent_pksign, gpgsm_agent_pkdecrypt)
(gpgsm_agent_genkey, gpgsm_agent_istrusted) (gpgsm_agent_marktrusted, gpgsm_agent_havekey) (gpgsm_agent_passwd): Add new arg CTRL and changed all callers. (start_agent): New arg CTRL. Send progress item when starting a new agent. * sign.c (gpgsm_get_default_cert, get_default_signer): New arg CTRL to be passed down to the agent function. * decrypt.c (prepare_decryption): Ditto. * certreqgen.c (proc_parameters, read_parameters): Ditto. * certcheck.c (gpgsm_create_cms_signature): Ditto.
This commit is contained in:
parent
1101deced5
commit
388218891b
13 changed files with 90 additions and 66 deletions
13
sm/sign.c
13
sm/sign.c
|
@ -126,7 +126,7 @@ hash_and_copy_data (int fd, gcry_md_hd_t md, ksba_writer_t writer)
|
|||
/* Get the default certificate which is defined as the first one our
|
||||
keyDB returns and has a secret key available. */
|
||||
int
|
||||
gpgsm_get_default_cert (ksba_cert_t *r_cert)
|
||||
gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
|
||||
{
|
||||
KEYDB_HANDLE hd;
|
||||
ksba_cert_t cert = NULL;
|
||||
|
@ -156,7 +156,7 @@ gpgsm_get_default_cert (ksba_cert_t *r_cert)
|
|||
p = gpgsm_get_keygrip_hexstring (cert);
|
||||
if (p)
|
||||
{
|
||||
if (!gpgsm_agent_havekey (p))
|
||||
if (!gpgsm_agent_havekey (ctrl, p))
|
||||
{
|
||||
xfree (p);
|
||||
keydb_release (hd);
|
||||
|
@ -180,7 +180,7 @@ gpgsm_get_default_cert (ksba_cert_t *r_cert)
|
|||
|
||||
|
||||
static ksba_cert_t
|
||||
get_default_signer (void)
|
||||
get_default_signer (ctrl_t ctrl)
|
||||
{
|
||||
KEYDB_SEARCH_DESC desc;
|
||||
ksba_cert_t cert = NULL;
|
||||
|
@ -189,7 +189,7 @@ get_default_signer (void)
|
|||
|
||||
if (!opt.local_user)
|
||||
{
|
||||
rc = gpgsm_get_default_cert (&cert);
|
||||
rc = gpgsm_get_default_cert (ctrl, &cert);
|
||||
if (rc)
|
||||
{
|
||||
if (rc != -1)
|
||||
|
@ -365,7 +365,7 @@ gpgsm_sign (CTRL ctrl, CERTLIST signerlist,
|
|||
/* If no list of signers is given, use a default one. */
|
||||
if (!signerlist)
|
||||
{
|
||||
ksba_cert_t cert = get_default_signer ();
|
||||
ksba_cert_t cert = get_default_signer (ctrl);
|
||||
if (!cert)
|
||||
{
|
||||
log_error ("no default signer found\n");
|
||||
|
@ -589,7 +589,8 @@ gpgsm_sign (CTRL ctrl, CERTLIST signerlist,
|
|||
goto leave;
|
||||
}
|
||||
|
||||
rc = gpgsm_create_cms_signature (cl->cert, md, algo, &sigval);
|
||||
rc = gpgsm_create_cms_signature (ctrl, cl->cert,
|
||||
md, algo, &sigval);
|
||||
if (rc)
|
||||
{
|
||||
gcry_md_close (md);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue