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

Decryption and signi via agent is now implemented.

This commit is contained in:
Werner Koch 2010-04-23 11:36:59 +00:00
parent c86a59db74
commit 8e5010a958
22 changed files with 409 additions and 358 deletions

View file

@ -817,7 +817,7 @@ list_keyblock_print (KBNODE keyblock, int secret, int fpr, void *opaque)
es_fprintf (es_stdout, "\n");
if (fpr)
print_fingerprint (pk, NULL, 0);
print_fingerprint (pk, 0);
/* FIXME: Change this function to take a PK and ask the agent: */
/* if (secret) print_card_serialno (sk); */
@ -866,7 +866,7 @@ list_keyblock_print (KBNODE keyblock, int secret, int fpr, void *opaque)
es_putc ('\n', es_stdout);
if ((opt.list_options & LIST_SHOW_PHOTOS) && uid->attribs != NULL)
show_photos (uid->attribs, uid->numattribs, pk, NULL, uid);
show_photos (uid->attribs, uid->numattribs, pk, uid);
}
else if (node->pkt->pkttype == PKT_PUBLIC_SUBKEY)
{
@ -911,7 +911,7 @@ list_keyblock_print (KBNODE keyblock, int secret, int fpr, void *opaque)
es_putc ('\n', es_stdout);
if (fpr > 1)
{
print_fingerprint (pk2, NULL, 0);
print_fingerprint (pk2, 0);
/* FIXME: (see above) */
/* if (secret) */
/* print_card_serialno (sk2); */
@ -1127,7 +1127,7 @@ list_keyblock_colon (KBNODE keyblock, int secret, int fpr)
print_revokers (pk);
if (fpr)
print_fingerprint (pk, NULL, 0);
print_fingerprint (pk, 0);
if (opt.with_key_data)
{
if (!hexkeygrip_from_pk (pk, &p))
@ -1232,7 +1232,7 @@ list_keyblock_colon (KBNODE keyblock, int secret, int fpr)
}
es_putc ('\n', es_stdout);
if (fpr > 1)
print_fingerprint (pk2, NULL, 0);
print_fingerprint (pk2, 0);
if (opt.with_key_data)
{
if (!hexkeygrip_from_pk (pk2, &p))
@ -1428,15 +1428,17 @@ list_keyblock (KBNODE keyblock, int secret, int fpr, void *opaque)
}
/*
* standard function to print the finperprint.
* Function to print the finperprint.
* mode 0: as used in key listings, opt.with_colons is honored
* 1: print using log_info ()
* 2: direct use of tty
* 3: direct use of tty but only primary key.
* modes 1 and 2 will try and print both subkey and primary key fingerprints
*
* Modes 1 and 2 will try and print both subkey and primary key
* fingerprints. A MODE with bit 7 set is used internally.
*/
void
print_fingerprint (PKT_public_key * pk, PKT_secret_key * sk, int mode)
print_fingerprint (PKT_public_key *pk, int mode)
{
byte array[MAX_FINGERPRINT_LEN], *p;
size_t i, n;
@ -1444,21 +1446,12 @@ print_fingerprint (PKT_public_key * pk, PKT_secret_key * sk, int mode)
const char *text;
int primary = 0;
if (sk)
{
if (sk->main_keyid[0] == sk->keyid[0]
&& sk->main_keyid[1] == sk->keyid[1])
primary = 1;
}
else
{
if (pk->main_keyid[0] == pk->keyid[0]
&& pk->main_keyid[1] == pk->keyid[1])
primary = 1;
}
if (pk->main_keyid[0] == pk->keyid[0]
&& pk->main_keyid[1] == pk->keyid[1])
primary = 1;
/* Just to be safe */
if (mode & 0x80 && !primary)
if ((mode & 0x80) && !primary)
{
log_error ("primary key is not really primary!\n");
return;
@ -1468,20 +1461,10 @@ print_fingerprint (PKT_public_key * pk, PKT_secret_key * sk, int mode)
if (!primary && (mode == 1 || mode == 2))
{
if (sk)
{
PKT_secret_key *primary_sk = xmalloc_clear (sizeof (*primary_sk));
get_seckey (primary_sk, sk->main_keyid);
print_fingerprint (NULL, primary_sk, mode | 0x80);
free_secret_key (primary_sk);
}
else
{
PKT_public_key *primary_pk = xmalloc_clear (sizeof (*primary_pk));
get_pubkey (primary_pk, pk->main_keyid);
print_fingerprint (primary_pk, NULL, mode | 0x80);
free_public_key (primary_pk);
}
PKT_public_key *primary_pk = xmalloc_clear (sizeof (*primary_pk));
get_pubkey (primary_pk, pk->main_keyid);
print_fingerprint (primary_pk, mode | 0x80);
free_public_key (primary_pk);
}
if (mode == 1)
@ -1513,10 +1496,7 @@ print_fingerprint (PKT_public_key * pk, PKT_secret_key * sk, int mode)
text = _(" Key fingerprint =");
}
if (sk)
fingerprint_from_sk (sk, array, &n);
else
fingerprint_from_pk (pk, array, &n);
fingerprint_from_pk (pk, array, &n);
p = array;
if (opt.with_colons && !mode)
{