code: def x509_name(name):
      
      if isinstance(name, six.string_types):
          name = parse_name(name)
  
      return x509.Name([x509.NameAttribute(NAME_OID_MAPPINGS[typ], force_text(value)) for typ, value in name])
docs: Parses a subject into a :py:class:`x509.Name <cg:cryptography.x509.Name>`.
  
      If ``name`` is a string, :py:func:`parse_name` is used to parse it.
  
      >>> x509_name('/C=AT/CN=example.com')
      <Name(C=AT,CN=example.com)>
      >>> x509_name([('C', 'AT'), ('CN', 'example.com')])
      <Name(C=AT,CN=example.com)>