code: def subject(self, value):
          
  
          is_dict = isinstance(value, dict)
          if not isinstance(value, x509.Name) and not is_dict:
              raise TypeError(_pretty_message(
                  '''
                  subject must be an instance of asn1crypto.x509.Name or a dict,
                  not %s
                  ''',
                  _type_name(value)
              ))
  
          if is_dict:
              value = x509.Name.build(value)
  
          self._subject = value
docs: An asn1crypto.x509.Name object, or a dict with at least the
          following keys:
  
           - country_name
           - state_or_province_name
           - locality_name
           - organization_name
           - common_name
  
          Less common keys include:
  
           - organizational_unit_name
           - email_address
           - street_address
           - postal_code
           - business_category
           - incorporation_locality
           - incorporation_state_or_province
           - incorporation_country
  
          Uncommon keys include:
  
           - surname
           - title
           - serial_number
           - name
           - given_name
           - initials
           - generation_qualifier
           - dn_qualifier
           - pseudonym
           - domain_component
  
          All values should be unicode strings