Пример #1
0
    def __init__(self,
                 addr,
                 keyfile=None,
                 certfile=None,
                 trust_roots_dir=None,
                 ca_certs=None,
                 base_name=None):
        # ca_certs arg here must be a file of concatenated certs
        if ca_certs is None:
            raise Exception('Missing CA Certs')
        elif not os.path.isfile(os.path.expanduser(ca_certs)):
            raise Exception(
                'CA Certs must be an existing file of accepted root certs: %s'
                % ca_certs)

        # Decode the addr into a URL. Is there a pythonic way to do this?
        server_url = "https://%s:%d/" % addr
        delegate = ReferenceAggregateManager(trust_roots_dir, base_name,
                                             server_url)
        # FIXME: set logRequests=true if --debug
        self._server = SecureXMLRPCServer(addr,
                                          keyfile=keyfile,
                                          certfile=certfile,
                                          ca_certs=ca_certs)
        self._server.register_instance(AggregateManager(delegate))
        # Set the server on the delegate so it can access the
        # client certificate.
        delegate._server = self._server

        if not base_name is None:
            global RESOURCE_NAMESPACE
            RESOURCE_NAMESPACE = base_name
Пример #2
0
    def __init__(self,
                 addr,
                 am_url,
                 keyfile=None,
                 certfile=None,
                 trust_roots_dir=None,
                 ca_certs=None,
                 base_name=None):
        # ca_certs arg here must be a file of concatenated certs
        if ca_certs is None:
            raise Exception('Missing CA Certs')
        elif not os.path.isfile(os.path.expanduser(ca_certs)):
            raise Exception(
                'CA Certs must be an existing file of accepted root certs: %s'
                % ca_certs)

        delegate = ProxyAggregateManager(am_url, trust_roots_dir, base_name)
        self._server = SecureXMLRPCServer(addr,
                                          keyfile=keyfile,
                                          certfile=certfile,
                                          ca_certs=ca_certs)
        self._server.register_instance(AggregateManager(delegate))
        # Set the server on the delegate so it can access the
        # client certificate.
        delegate._server = self._server

        if not base_name is None:
            global RESOURCE_NAMESPACE
            RESOURCE_NAMESPACE = base_name