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);
}