[Python-es] Ayuda SimpleXMLRPCServer con ssl

Boris Perez Canedo inf200523 en ucf.edu.cu
Vie Mar 5 21:15:46 CET 2010



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.


Saludos,
Boris.




---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100305/ad1e73a8/attachment.html>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100305/ad1e73a8/attachment-0001.html>


Más información sobre la lista de distribución Python-es