code: def subject_public_key(self, value):
          
  
          is_oscrypto = isinstance(value, asymmetric.PublicKey)
          if not isinstance(value, keys.PublicKeyInfo) and not is_oscrypto:
              raise TypeError(_pretty_message(
                  '''
                  subject_public_key must be an instance of
                  asn1crypto.keys.PublicKeyInfo or oscrypto.asymmetric.PublicKey,
                  not %s
                  ''',
                  _type_name(value)
              ))
  
          if is_oscrypto:
              value = value.asn1
  
          self._subject_public_key = value
  
          self._key_identifier = self._subject_public_key.sha1
          self._authority_key_identifier = None
docs: An asn1crypto.keys.PublicKeyInfo or oscrypto.asymmetric.PublicKey
          object of the subject's public key.