Exemplo n.º 1
0
async def create_ssl_server(conn, key, ip, port, cert_dir):
    cert_path = path.join(cert_dir, 'veles.cert')
    key_path = path.join(cert_dir, 'veles.key')
    if not path.isfile(cert_path) or not path.isfile(key_path):
        helpers.generate_ssl_cert(cert_path, key_path)
    with open(cert_path) as f:
        cert = f.read()
    cert = crypto.load_certificate(crypto.FILETYPE_PEM, cert)
    fingerprint = cert.digest('sha256').decode().replace(':', '').lower()

    logger.info('Client url: veles+ssl://%s:%s@%s:%s',
                key, fingerprint, ip, port)
    key = prepare_auth_key(key)
    sc = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
    sc.load_cert_chain(cert_path, key_path)
    return await conn.loop.create_server(
        lambda: ServerProto(conn, key), ip, port, ssl=sc)
Exemplo n.º 2
0
 def __init__(self,
              sock,
              key,
              name='scli',
              version='1.0',
              description='',
              type='scli',
              quit_on_close=False):
     self.sock = sock
     wrapper = msgpackwrap.MsgpackWrapper()
     self.unpacker = wrapper.unpacker
     self.packer = wrapper.packer
     self.client_name = name
     self.client_version = version
     self.client_description = description
     self.client_type = type
     self.quit_on_close = quit_on_close
     self._authorize(helpers.prepare_auth_key(key))
Exemplo n.º 3
0
 def __init__(self,
              auth_key,
              fingerprint='',
              name='acli',
              version='1.0',
              description='',
              type='acli'):
     wrapper = msgpackwrap.MsgpackWrapper()
     self.unpacker = wrapper.unpacker
     self.packer = wrapper.packer
     self.qids = {}
     self.mids = {}
     self.bids = {}
     self.rids = {}
     self.handlers = {}
     self.auth_key = helpers.prepare_auth_key(auth_key)
     self.client_name = name
     self.client_version = version
     self.client_description = description
     self.client_type = type
     self.fingerprint = fingerprint
Exemplo n.º 4
0
async def create_tcp_server(conn, key, ip, port):
    logger.info('Client url: VELES://%s@%s:%s', key, ip, port)
    key = prepare_auth_key(key)
    return await conn.loop.create_server(lambda: ServerProto(conn, key), ip,
                                         port)
Exemplo n.º 5
0
async def create_unix_server(conn, key, path):
    logger.info('Client url: VELES+UNIX://%s@%s', key, path)
    key = prepare_auth_key(key)
    return await conn.loop.create_unix_server(lambda: ServerProto(conn, key),
                                              path)