mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
* gpgsm.c, gpgsm.h: Add local_user.
* sign.c (gpgsm_get_default_cert): New. (get_default_signer): Use the new function if local_user is not set otherwise used that value. * encrypt.c (get_default_recipient): Removed. (gpgsm_encrypt): Use gpgsm_get_default_cert. * verify.c (gpgsm_verify): Better error text for a bad signature found by comparing the hashs.
This commit is contained in:
parent
dfda938ee9
commit
c8454f792d
9 changed files with 96 additions and 55 deletions
43
sm/encrypt.c
43
sm/encrypt.c
|
@ -58,45 +58,6 @@ struct encrypt_cb_parm_s {
|
|||
};
|
||||
|
||||
|
||||
static KsbaCert
|
||||
get_default_recipient (void)
|
||||
{
|
||||
const char key[] =
|
||||
"/CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE";
|
||||
|
||||
KEYDB_SEARCH_DESC desc;
|
||||
KsbaCert cert = NULL;
|
||||
KEYDB_HANDLE kh = NULL;
|
||||
int rc;
|
||||
|
||||
rc = keydb_classify_name (key, &desc);
|
||||
if (rc)
|
||||
{
|
||||
log_error ("failed to find recipient: %s\n", gnupg_strerror (rc));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
kh = keydb_new (0);
|
||||
if (!kh)
|
||||
return NULL;
|
||||
|
||||
rc = keydb_search (kh, &desc, 1);
|
||||
if (rc)
|
||||
{
|
||||
log_debug ("failed to find default certificate: rc=%d\n", rc);
|
||||
}
|
||||
else
|
||||
{
|
||||
rc = keydb_get_cert (kh, &cert);
|
||||
if (rc)
|
||||
{
|
||||
log_debug ("failed to get cert: rc=%d\n", rc);
|
||||
}
|
||||
}
|
||||
|
||||
keydb_release (kh);
|
||||
return cert;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -417,8 +378,8 @@ gpgsm_encrypt (CTRL ctrl, CERTLIST recplist, int data_fd, FILE *out_fp)
|
|||
STATUS_NO_RECP */
|
||||
if (!recplist)
|
||||
{
|
||||
help_recplist.cert = get_default_recipient ();
|
||||
if (!help_recplist.cert)
|
||||
rc = gpgsm_get_default_cert (&help_recplist.cert);
|
||||
if (rc)
|
||||
{
|
||||
log_error ("no default recipient found\n");
|
||||
rc = seterr (General_Error);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue