def __init__(self, handler, host='localhost', port=8000): threading.init() Rand.load_file('../randpool.dat', -1) ctx=echod_lib.init_context('sslv3','server.pem', 'ca.pem', SSL.verify_peer) ctx.set_tmp_dh('dh1024.pem') config = Config() server = TCPServer.__connection(self, host, port) while 1: server.OpenConnection() server.HandleConnection(handler,config.config,ctx) server.CloseConnection() Rand.save_file('../randpool.dat') threading.cleanup()
def start(self, handler, ssl, host, port,config): if ssl: Rand.load_file('ssl/randpool.dat', -1) ctx=echod_lib.init_context('sslv3','ssl/server.pem', 'ssl/ca.pem', SSL.verify_none) ctx.set_tmp_dh('ssl/dh1024.pem') if port==8000: port += 1 else: ctx = None server = self.__connection(host, port) while 1: server.OpenConnection() server.HandleConnection(handler,config.config,ctx) server.CloseConnection()
Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.""" from M2Crypto import DH, Rand, SSL, threading import echod_lib class ssl_echo_handler(echod_lib.ssl_echo_handler): buffer = 'Ye Olde Threading Echo Servre\r\n' def finish(self): # Threading servers need this. self.request.set_shutdown(SSL.SSL_SENT_SHUTDOWN | SSL.SSL_RECEIVED_SHUTDOWN) self.request.close() if __name__ == '__main__': try: threading.init() Rand.load_file('../randpool.dat', -1) ctx = echod_lib.init_context( 'sslv23', 'server.pem', 'ca.pem', SSL.verify_peer | SSL.verify_fail_if_no_peer_cert) ctx.set_tmp_dh('dh1024.pem') s = SSL.ThreadingSSLServer(('', 9999), ssl_echo_handler, ctx) s.serve_forever() Rand.save_file('../randpool.dat') except: threading.cleanup()
self.socket.setblocking(0) self.bind((addr, port)) self.listen(5) self.ssl_ctx=ssl_context def handle_accept(self): try: sock, addr = self.socket.accept() self.channel_class(sock) except: print '-'*40 import traceback traceback.print_exc() print '-'*40 return def writable(self): return 0 if __name__=='__main__': Rand.load_file('../randpool.dat', -1) ctx = echod_lib.init_context('sslv23', 'server.pem', 'ca.pem', \ #SSL.verify_peer | SSL.verify_fail_if_no_peer_cert) SSL.verify_none) ctx.set_tmp_dh('dh1024.pem') ssl_echo_server('', 9999, ctx) asyncore.loop() Rand.save_file('../randpool.dat')
"""Server demonstration of M2Crypto.xmlrpclib2. Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.""" # M2Crypto from M2Crypto import DH, SSL from echod_lib import init_context # /F's xmlrpcserver.py. from xmlrpcserver import RequestHandler class xmlrpc_handler(RequestHandler): def call(self, method, params): print "XMLRPC call:", method, params return params def finish(self): self.request.set_shutdown(SSL.SSL_RECEIVED_SHUTDOWN | SSL.SSL_SENT_SHUTDOWN) self.request.close() if __name__ == '__main__': ctx = init_context('sslv23', 'server.pem', 'ca.pem', SSL.verify_none) ctx.set_tmp_dh('dh1024.pem') s = SSL.ThreadingSSLServer(('', 9443), xmlrpc_handler, ctx) s.serve_forever()
#!/usr/bin/env python """A simple iterative SSL 'echo' server. Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.""" from M2Crypto import Rand, SSL import echod_lib class ssl_echo_handler(echod_lib.ssl_echo_handler): buffer = "Ye Olde One-At-A-Time Echo Servre\r\n" if __name__ == "__main__": Rand.load_file("../randpool.dat", -1) ctx = echod_lib.init_context("sslv23", "server.pem", "ca.pem", SSL.verify_peer | SSL.verify_fail_if_no_peer_cert) # SSL.verify_none) ctx.set_tmp_dh("dh1024.pem") s = SSL.SSLServer(("", 9999), ssl_echo_handler, ctx) s.serve_forever() Rand.save_file("../randpool.dat")