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
signature.asc
Description: Esta parte del mensaje está firmada digitalmente
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/