[Python] protocollo x509 e web server

Matteo Perini perini.matteo a gmail.com
Mar 9 Maggio 2017 15:06:25 CEST


Ciao a tutti,

sto cercando di aiutare un amico che deve caricare dei dati di un 
registro elettronico open source "Lampschool" su un server che utilizza 
il protocollo in oggetto per l'autenticazione.

Premetto che non so quasi nulla di queste cose ma volevo aiutare un 
progetto interessante.

Questo è un pezzo del codice:

------------------------------

from zeep import Client
from lxml import etree
from zeep import xsd
from zeep.transports import Transport
from requests import Session
from zeep.wsse.signature import Signature
public_key = "publicKey.pem"
private_key = "privateKey.pem"
cert = "SGA-Services.cer"

session = Session()
session.verify = True
session.timeout = 10
session.get('https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl', 
cert=(public_key, private_key))


client = 
Client('https://webservices-test.infotn.it/RegistroEsterni/SGAService.svc?wsdl',wsse=Signature(private_key,public_key,password),transport=Transport(session=session))


with client.options(raw_response=True):
     response = client.service.IstituzioniScolastiche()

     # response is now a regular requests.Response object
     assert response.content

-----------------------------------

ma la risposta del server dopo che ho inserito la password è:

b'<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action 
s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action><a:RelatesTo>urn:uuid:b2a55910-7152-4196-97d7-5b4044ff732c</a:RelatesTo></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Sender</s:Value><s:Subcode><s:Value 
xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</s:Value></s:Subcode></s:Code><s:Reason><s:Text 
xml:lang="it-IT">An error occurred when verifying security for the 
message.</s:Text></s:Reason></s:Fault></s:Body></s:Envelope>'


Qualcuno di voi ha esperienza di queste cose?

Potreste darmi qualche dritta su come iniziare a fare richieste a questo 
web service che è costruito in asp su IIS e utilizza WSE come sicurezza.


Grazie mille per qualsiasi dritta

Matteo



Maggiori informazioni sulla lista Python