code: def self_signed(self):
          
  
          if self._self_signed is None:
              self._self_signed = 'no'
              if self.self_issued:
                  if self.key_identifier:
                      if not self.authority_key_identifier:
                          self._self_signed = 'maybe'
                      elif self.authority_key_identifier == self.key_identifier:
                          self._self_signed = 'maybe'
                  else:
                      self._self_signed = 'maybe'
          return self._self_signed
docs: :return:
              A unicode string of "no" or "maybe". The "maybe" result will
              be returned if the certificate issuer and subject are the same.
              If a key identifier and authority key identifier are present,
              they will need to match otherwise "no" will be returned.
  
              To verify is a certificate is truly self-signed, the signature
              will need to be verified. See the certvalidator package for
              one possible solution.