[Python] protocollo x509 e web server

Matteo Perini perini.matteo a gmail.com
Gio 11 Maggio 2017 15:16:53 CEST


> Ti consiglio di scaricarti soapui:
>
> - https://www.soapui.org/downloads/soapui.html
>
> Testa il ws da li'.
>
> Quando hai una richiesta che va a buon fine dovresti poter vedere la
> richiesta HTTP completa che fa.
>
> Poi prova a replicarla con il tuo codice Python.
> Dopo averne provate un sacco, la libreria che ho usato l'ultima volta
> e' stata pysimplesoap.
> Ovviamente usa quella che meglio si adatta al tuo caso (se vuoi
> smanettare un po' pure requests va bene, addirittura una volta ho
> usato curl per fare dei test).
>
> Tip per il testing.
> A volte, per vedere la richiesta sopa che genero, lancio il comando:
>
> nc -l 8000 (o la porta che vuoi)
>
> ed uso localhost:8000 come end point.
>
> Ciao.
Ciao,
grazie dei consigli.
sto provando soappy!

Il codice è semplicemente questo:

url='https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl'
SOAPpy.Config.SSL.cert_file = 'SGA-Services.cer'
SOAPpy.Config.SSL.key_file = 'privateKey.pem'

server = SOAPpy.SOAPProxy(url)

print server.IstituzioniScolastiche()

Mi viene chiesta la password che inserisco ma il risultato è questo errore:

   File "pc.py", line 12, in <module>
     print server.IstituzioniScolastiche()
   File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
547, in __call__
     return self.__r_call(*args, **kw)
   File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
569, in __r_call
     self.__hd, self.__ma)
   File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
432, in __call
     timeout = self.timeout)
   File "/usr/local/lib/python2.7/dist-packages/SOAPpy/Client.py", line 
208, in call
     r = httplib.HTTPS(real_addr, key_file=config.SSL.key_file, 
cert_file=config.SSL.cert_file)
   File "/usr/lib/python2.7/httplib.py", line 1286, in __init__
     context=context))
   File "/usr/lib/python2.7/httplib.py", line 1249, in __init__
     context.load_cert_chain(cert_file, key_file)
IOError: [Errno 22] Invalid argument


ho provato a cercare online l'errore ma non trovo risposte.
Idee?
Grazie



Maggiori informazioni sulla lista Python