code: def isIssuerCert(self, other):
          
          # XXX should be done on raw values, instead of their textual repr
          if self.issuer != other.subject:
              return False
  
          # Sanity check regarding modulus length and the
          # signature length
          keyLen = (other.modulusLen + 7)/8
          if keyLen != self.sigLen:
              return False
  
          unenc = other.encrypt(self.sig) # public key encryption, i.e. decrypt
  
          # XXX Check block type (00 or 01 and type of padding)
          unenc = unenc[1:]
          if not '\x00' in unenc:
              return False
          pos = unenc.index('\x00')
          unenc = unenc[pos+1:]
  
          found = None
          for k in _hashFuncParams.keys():
              if self.sigAlg.startswith(k):
                  found = k
                  break
          if not found:
              return False
          hlen, hfunc, digestInfo =  _hashFuncParams[k]
          
          if len(unenc) != (hlen+len(digestInfo)):
              return False
  
          if not unenc.startswith(digestInfo):
              return False
  
          h = unenc[-hlen:]
          myh = hfunc(self.tbsCertificate)
  
          return h == myh
docs: True if 'other' issued 'self', i.e.:
            - self.issuer == other.subject
            - self is signed by other