[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