> El vie, 05-03-2010 a las 15:15 -0500, Boris Perez Canedo escribi�: >> Hola, >> >> >> Estoy tratando de montar un servidor xml rpc, ya logre hacer basic >> auth, y que tambien que atendiera peticiones simultaneas pero para >> obtener mas seguridad estoy enredado tratando de hacerlo con ssl. >> >> Utilice openssl para generar un certificado autofirmado .pem y una >> clave privada .pem. Creo que lo que debo hacer es redefinir el metodo >> get_request() que hereda SimpleXMLRPCServer de SocketServer (segun la >> documentacion puede ser redefinido), pero en realidad estoy a ciegas. >> >> def get_request(self): >> >> return self.socket.accept() >> >> # redefiniendo get_request >> >> def get_request(self): >> >> request, address = self.socket.accept()
>> # de la ayuda de python 2.6 modulo ssl >> connstream = ssl.wrap_socket(request, >> server_side=True, >> certfile="sslcertificate/mycert.pem", >> keyfile="privatekey/mykey.pem", >> ssl_version=ssl.PROTOCOL_TLSv1) >> >> return connstream, address >> >> Como, hasta donde conozco del asunto, ssl hereda de socket debe >> redefinir los metodos read, write, etc para su proposito, pero en >> esencia deberia ser transparente para SimpleXMLRPCServer. >> >> Echo a andar el servidor y cuando uso xmlrpclib para conctarme y >> acceder a sus metodos, por ejemplo: >> >> #ejemplo de cliente >> import xmlrpclib >> >> conn = xmlrpclib.ServerProxy(https://myuser:mypassw...@localhost:8500) >> print conn.test() # test es un metodo de mi servidor >> >> Pues se queda colgado ni uno ni el otro me dan error ni nada. >> > > Por si te sirve de algo yo tengo aqu� un servidor xmlrpc con ssl que > consegu� de alguna parte: > > http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=0d318d739eb3df110832176ec9e63f0289f32f48&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/secure_xmlrpc.py > > Y aqu� un ejemplo de uso: > > http://git.danigm.net/gitphp/index.php?p=geco.git&a=blob&h=21c2da7b42f1b67354558c5978cf27d7074ab3a3&hb=1a2a1f9d0a111bdf6fb16dc011cb595431c9ceed&f=src/gecod/gecod/xmlrpc_frontend.py > Muchas gracias. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/