aboutsummaryrefslogtreecommitdiffstats
path: root/src/pluto/pgpcert.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluto/pgpcert.c')
-rw-r--r--src/pluto/pgpcert.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/pluto/pgpcert.c b/src/pluto/pgpcert.c
index 5f58aab1a..3cbfeb717 100644
--- a/src/pluto/pgpcert.c
+++ b/src/pluto/pgpcert.c
@@ -282,12 +282,15 @@ static bool parse_pgp_pubkey_packet(chunk_t *packet, pgpcert_t *cert)
}
else
{
+ chunk_t fp;
+
/* V3 fingerprint is computed by public_key_t class */
- cert->fingerprint = cert->public_key->get_id(cert->public_key, ID_KEY_ID);
- if (cert->fingerprint == NULL)
+ if (!cert->public_key->get_fingerprint(cert->public_key, KEY_ID_PGPV3,
+ &fp))
{
return FALSE;
}
+ cert->fingerprint = identification_create_from_encoding(ID_KEY_ID, fp);
}
return TRUE;
}
@@ -484,6 +487,7 @@ void list_pgp_end_certs(bool utc)
while (cert != NULL)
{
public_key_t *key = cert->public_key;
+ chunk_t keyid;
cert_t c;
c.type = CERT_PGP;
@@ -496,10 +500,12 @@ void list_pgp_end_certs(bool utc)
check_expiry(cert->until, CA_CERT_WARNING_INTERVAL, TRUE));
whack_log(RC_COMMENT, " pubkey: %N %4d bits%s",
key_type_names, key->get_type(key),
- key->get_keysize(key) * BITS_PER_BYTE,
+ key->get_keysize(key) * BITS_PER_BYTE,
has_private_key(c)? ", has private key" : "");
- whack_log(RC_COMMENT, " keyid: %Y",
- key->get_id(key, ID_PUBKEY_INFO_SHA1));
+ if (key->get_fingerprint(key, KEY_ID_PUBKEY_INFO_SHA1, &keyid))
+ {
+ whack_log(RC_COMMENT, " keyid: %#B", &keyid);
+ }
cert = cert->next;
}
}