'Get CAs whose certificates are suggested for client authentication.
:return: If this is a server connection, a list of X509Names representing
the acceptable CAs as set by :py:meth:`OpenSSL.SSL.Context.set_client_ca_list` or
:py:meth:`OpenSSL.SSL.Context.add_client_ca`.  If this is a client connection,
the list of such X509Names sent by the server, or an empty list if that
has not yet happened.'

def get_client_ca_list(self):

    ca_names = _lib.SSL_get_client_CA_list(self._ssl)
    if (ca_names == _ffi.NULL):
        return []
    result = []
    for i in range(_lib.sk_X509_NAME_num(ca_names)):
        name = _lib.sk_X509_NAME_value(ca_names, i)
        copy = _lib.X509_NAME_dup(name)
        if (copy == _ffi.NULL):
            _raise_current_error()
        pyname = X509Name.__new__(X509Name)
        pyname._name = _ffi.gc(copy, _lib.X509_NAME_free)
        result.append(pyname)
    return result
