pubkey: Improve comparison of raw public key certificate objects
This commit is contained in:
parent
888dbac50e
commit
c0d0391a51
|
@ -110,15 +110,25 @@ METHOD(certificate_t, has_issuer, id_match_t,
|
|||
METHOD(certificate_t, equals, bool,
|
||||
private_pubkey_cert_t *this, certificate_t *other)
|
||||
{
|
||||
identification_t *other_subject;
|
||||
public_key_t *other_key;
|
||||
|
||||
if (this == (private_pubkey_cert_t*)other)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
if (other->get_type(other) != CERT_TRUSTED_PUBKEY)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
other_key = other->get_public_key(other);
|
||||
if (other_key)
|
||||
{
|
||||
if (public_key_equals(this->key, other_key))
|
||||
{
|
||||
other_key->destroy(other_key);
|
||||
return TRUE;
|
||||
other_subject = other->get_subject(other);
|
||||
return other_subject->equals(other_subject, this->subject);
|
||||
}
|
||||
other_key->destroy(other_key);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue