':return:
A unicode string of "yes", "no" or "maybe". The "maybe" result will
be returned if the certificate does not contain a key identifier
extension, but is issued by the subject. In this case the
certificate signature will need to be verified using the subject
public key to determine a "yes" or "no" answer.'

@property
def self_signed(self):

    if (self._self_signed is None):
        self._self_signed = u'no'
        if self.self_issued:
            if self.key_identifier:
                if (not self.authority_key_identifier):
                    self._self_signed = u'yes'
                elif (self.authority_key_identifier == self.key_identifier):
                    self._self_signed = u'yes'
            else:
                self._self_signed = u'maybe'
    return self._self_signed
