code: def public_key(self):
          
  
          if self._public_key is None:
              if self.algorithm == 'ec':
                  key = self['private_key'].parsed
                  if key['public_key']:
                      self._public_key = key['public_key'].untag()
                  else:
                      self._public_key = self._compute_public_key()
              else:
                  self._public_key = self._compute_public_key()
  
          return self._public_key
docs: :return:
              If an RSA key, an RSAPublicKey object. If a DSA key, an Integer
              object. If an EC key, an ECPointBitString object.