'Returns the split-up components of this name.
:return: List of tuples (name, value).'

def get_components(self):

    result = []
    for i in range(_lib.X509_NAME_entry_count(self._name)):
        ent = _lib.X509_NAME_get_entry(self._name, i)
        fname = _lib.X509_NAME_ENTRY_get_object(ent)
        fval = _lib.X509_NAME_ENTRY_get_data(ent)
        nid = _lib.OBJ_obj2nid(fname)
        name = _lib.OBJ_nid2sn(nid)
        result.append((_ffi.string(name), _ffi.string(_lib.ASN1_STRING_data(fval), _lib.ASN1_STRING_length(fval))))
    return result
