예제 #1
0
 def _reset_proxy(self):
     parsed = urlparse(self.url.lower())
     self.transport = None
     # This scheme is used for debugging and looping back
     if parsed.scheme == "test":
         self.proxy = BasicAuthServerProxy(
             test_to_http(self.url),
             username=self.username,
             password=self.password,
             transport=TestClientTransport())
     elif parsed.scheme == "https":
         from M2Crypto.m2xmlrpclib import SSL_Transport
         from M2Crypto.SSL import Context
         self.transport = SSL_Transport(Context(protocol='tlsv1'))
         self.proxy = BasicAuthServerProxy(self.url,
                                           username=self.username,
                                           password=self.password,
                                           transport=self.transport,
                                           #verbose=getattr(settings, "DEBUG", False))
                                           verbose=False)
         self.set_verify_certs()
     else:
         self.proxy = BasicAuthServerProxy(self.url,
                                           username=self.username,
                                           password=self.password)
예제 #2
0
    def _reset(self):
        parsed = urlparse(self.url.lower())
        assert parsed.scheme == "https"

        self.transport = None
        from M2Crypto.m2xmlrpclib import SSL_Transport
        from M2Crypto.SSL import Context
        self.transport = SSL_Transport(Context(protocol='tlsv1'))

        new_url = add_basic_auth(self.url, self.username, self.password)
        self.proxy = xmlrpclib.ServerProxy(str(new_url),
                                           transport=self.transport,
                                           verbose=False)
예제 #3
0
 def _reset_proxy(self):
     parsed = urlparse(self.url.lower())
     self.transport = None
     # This scheme is used for debugging and looping back
     if parsed.scheme == "test":
         self.proxy = BasicAuthServerProxy(self.url.lower().replace(
             "test", "http"),
                                           username=self.username,
                                           password=self.password,
                                           transport=TestClientTransport())
     elif parsed.scheme == "https":
         from M2Crypto.m2xmlrpclib import SSL_Transport
         from M2Crypto.SSL import Context
         self.transport = SSL_Transport(Context(protocol='tlsv1'))
         self.proxy = BasicAuthServerProxy(self.url,
                                           username=self.username,
                                           password=self.password,
                                           transport=self.transport)
         self.set_verify_certs()
     else:
         self.proxy = BasicAuthServerProxy(self.url,
                                           username=self.username,
                                           password=self.password)
예제 #4
0
        '''
        Get the download descriptor for the specified file
        '''
        log.debug('Entered FTPSServer.GetDownloadDescriptor')
        descriptor = urlparse.urlunparse(
            ("ftps", "%s:%d" % (self.hostname, self.port),
             "%s/%s" % (prefix, urllib.quote(fil)), "", "", ""))
        log.debug('  descriptor = %s', descriptor)
        return descriptor


if __name__ == '__main__':
    from M2Crypto.SSL import Context
    import socket

    ssl_ctx = Context('sslv23')
    ssl_ctx.load_cert('server.pem')
    # cheat to get the ca cert dir
    if sys.platform == 'win32':
        caDir = r'c:\\program files\\AGTk-2.4\\Config\CAcertificates'
    elif sys.platform == 'linux2':
        caDir = '/etc/AccessGrid/Config/CAcertificates'
    elif sys.platform == 'darwin':
        caDir = '/Applications/AccessGridToolkit.app/Contents/Resources/Config/CAcertificates/'
    else:
        print 'Unrecognized platform: ', sys.platform
        sys.exit(1)
    ssl_ctx.load_verify_locations(capath=caDir)
    ssl_ctx.set_cipher_list('LOW:TLSv1:@STRENGTH')
    ssl_ctx.set_verify(SSL.verify_peer, 10)
    ssl_ctx.set_session_id_ctx('127.0.0.1:8006')