diff options
-rw-r--r-- | src/charon/plugins/nm/nm_creds.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/charon/plugins/nm/nm_creds.c b/src/charon/plugins/nm/nm_creds.c index 4ea2c36dd..9d1b0b895 100644 --- a/src/charon/plugins/nm/nm_creds.c +++ b/src/charon/plugins/nm/nm_creds.c @@ -155,10 +155,11 @@ static enumerator_t* create_private_enumerator(private_nm_creds_t *this, } if (id && id->get_type(id) != ID_ANY) { - identification_t *keyid; + chunk_t keyid; - keyid = this->key->get_id(this->key, id->get_type(id)); - if (!keyid || !keyid->equals(keyid, id)) + if (id->get_type(id) != ID_KEY_ID || + !this->key->get_fingerprint(this->key, KEY_ID_PUBKEY_SHA1, &keyid) || + !chunk_equals(keyid, id->get_encoding(id))) { return NULL; } |