[Python-es] Ayuda SimpleXMLRPCServer con ssl
Daniel Garcia Moreno
dani en danigm.net
Vie Mar 5 22:39:08 CET 2010
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:mypassword@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
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Esta parte del mensaje está firmada digitalmente
URL: <http://mail.python.org/pipermail/python-es/attachments/20100305/f19693ef/attachment.pgp>
Más información sobre la lista de distribución Python-es