italia / anpr

Issue tracker e documentazione di ANPR - Anagrafe Nazionale della Popolazione Residente
Creative Commons Attribution 4.0 International
180 stars 49 forks source link

C020-servizioAccertamentoResidenza - InteroperabilityInvalidRequest #4289

Closed fabercrino closed 6 months ago

fabercrino commented 11 months ago

Stiamo provando il servizio in oggetto in ambiente di collaudo, seguendo le specifiche contenute nello yaml del servizio (richiesta voucher con client-assertion che contiene il digest del tracking-evidence, più header Digest, Agid-JWS-Signature, Agid-JWT-TrackingEvidence)

la richiesta è la seguente

{"idOperazioneClient":"1","criteriRicerca":{"codiceFiscale":"CTTCTS80A01G337V"},"datiRichiesta":{"dataRiferimentoRichiesta":"2023-12-05","motivoRichiesta":"PROT.NUM.449","casoUso":"C020"}}

L'errore che riceviamo è questo

{ "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "444464f4-982c-11ee-9c9c-005056ae5232" }

potete indicarci cosa stiamo sbagliando?

Grazie

afrontera85 commented 11 months ago

Salve, l'errore è il seguente: "Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'Agid-JWT-Signature' non presente." Quì trovate un esempio di client che implementa i profili di cui Anpr necessita: https://github.com/italia/anpr/issues/3964

fabercrino commented 11 months ago

Avevamo impostato Agid-JWS-Signature, ora abbiamo riprovato prendendo anche spunto dal client di esempio però riceviamo ancora un errore legato ai profili di sicurezza:

{ "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "5fef52fe-9a68-11ee-904d-005056ae5232" }

potete darci qualche indicazione sul dettaglio?

Grazie

Fabrizio

afrontera85 commented 11 months ago

Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'digest' possiede un valore differente rispetto a quello presente negli header firmati

ClaudioRocca commented 11 months ago

Usando il client pubblicato riceviamo il seguente messaggio di errore: GovWay-Transaction-ID: e4be95fe-9a84-11ee-90d2-005056ae1884 {"type":"https://govway.org/handling-errors/403/AuthorizationTokenDeny.html","title":"AuthorizationTokenDeny", "status":403, "detail":"Insufficient token claims", "govway_id":"e4be95fe-9a84-11ee-90d2-005056ae1884" } riuscite ad indicarci quale sia l'errore? Disconnected from the target VM, address: '127.0.0.1:51640', transport: 'socket'

afrontera85 commented 11 months ago

l'errore è questo: Verifica autorizzazione [token] messaggio con identificativo [8e976588-88e5-422b-8638-22a036c95b5d] servizio [modipa/MinInternoPortaANPR-PDND:modipa/C001-servizioNotifica:1:POST_anpr-service-e002] fallita (Token claim 'aud' with unexpected value) La richiesta presenta un token non sufficiente per fruire del servizio richiesto

Dovete modificare adeguatamente il file pdnd.properties del client

ClaudioRocca commented 11 months ago

Abbiamo modificato il file pdnd.properties ed ora il baseUrlApi è il seguente: baseurlapi=https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C020-servizioNotifica/v1/anpr-service-e002.

L'errore che riceviamo è invece questo: GovWay-Transaction-ID: null { "type": "https://govway.org/handling-errors/404/UnknownAPI.html", "title": "UnknownAPI", "status": 404, "detail": "Unknown API", "X-Global-Transaction-ID": "3f7e3e2d657b20ce64fae7fd" } . Riuscite ad indicarci dove stiamo sbagliando? Grazie

afrontera85 commented 11 months ago

la baseurlapi è sbagliata, deve essere https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C020-servizioAccertamentoResidenza/v1/anpr-service-e002

ClaudioRocca commented 11 months ago

Grazie per la dritta, l'url è ora corretta ma riceviamo il seguente errore: GovWay-Transaction-ID: e5abbd3a-9b15-11ee-b6c3-005056ae5232 {"type":"https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title":"InteroperabilityInvalidRequest", "status":400, "detail":"Received request is not conform to the required interoperability profile","govway_id":"e5abbd3a-9b15-11ee-b6c3-005056ae5232"}

afrontera85 commented 11 months ago

Verifica ModI della richiesta fallita: Riscontrate 3 eccezioni. Token non utilizzabile prima della data '2023-12-15_08:33:00.000' Token contenente un claim 'aud' non valido [Header 'Agid-JWT-TrackingEvidence'] Token contenente un claim 'aud' non valido

ClaudioRocca commented 10 months ago

Buongiorno, col client riscontriamo questo errore nella chiamata: GovWay-Transaction-ID: 145d3f08-9d94-11ee-b505-005056ae5232 {"type":"https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title":"InteroperabilityInvalidRequest", "status":400, "detail":"Received request is not conform to the required interoperability profile", "govway_id":"145d3f08-9d94-11ee-b505-005056ae5232"}

Riuscite ad indicarci qual è l'errore?

afrontera85 commented 10 months ago

Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'digest' possiede un valore differente rispetto a quello presente negli header firmati

fabercrino commented 9 months ago

Salve

facendo delle prove su un nuovo ambiente abbiamo questo errore, cosa stiamo sbagliando? Grazie

{ "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "e17c191d-b533-11ee-b26c-005056ae5232" }

afrontera85 commented 9 months ago

Verifica ModI della richiesta fallita: Riscontrate 2 eccezioni. Token creato nel futuro (data creazione: '2024-01-17_14:24:20.000') [Header 'Agid-JWT-TrackingEvidence'] Token creato nel futuro (data creazione: '2024-01-17_14:24:20.000')

fedeavi91 commented 9 months ago

Salve facendo delle prove su ambiente di test ho rilevato la seguente response per l'url: https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR-PDND/C001-servizioNotifica/v1/anpr-service-e002: { "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "24fda1c6-c981-11ee-b9b8-005056ae1884" } Dove sbaglio?

afrontera85 commented 9 months ago

Salve, l'errore relativo al govway_id fornito è il seguente: Validazione security token ModI 'INTEGRITY' della richiesta fallita: Riscontrate 2 eccezioni. Header HTTP 'Digest' non presente Header HTTP 'digest', dichiarato tra gli header firmati, non trovato

fedeavi91 commented 9 months ago

Ok mi potrebbe fornire un esempio di request con header corretti?

afrontera85 commented 9 months ago

Se vi serve un esempio abbiamo appositamente fornito il client che trovate quì: https://github.com/italia/anpr/issues/3964 Per ogni altro dubbio fate riferimento al documento delineato da AGID per l'implementazione della cornice di sicurezza (Documento.operativo.-.Pattern.sicurezza.-.v1.1.pdf) che trovate sempre nella issue su indicata, considerando che Anpr implementa INTEGRITY_REST_02 e AUDIT_REST_02. L'errore 400 che prendete è difatti un errore generico relativo all'implementazione della cornice di sicurezza.

gcaferra commented 9 months ago

Se vi serve un esempio abbiamo appositamente fornito il client che trovate quì: #3964 Per ogni altro dubbio fate riferimento al documento delineato da AGID per l'implementazione della cornice di sicurezza (Documento.operativo.-.Pattern.sicurezza.-.v1.1.pdf) che trovate sempre nella issue su indicata, considerando che Anpr implementa INTEGRITY_REST_02 e AUDIT_REST_02. L'errore 400 che prendete è difatti un errore generico relativo all'implementazione della cornice di sicurezza.

e se anche quel client tornasse 400 come nel mio caso? (X-Global-Transaction-ID = [3f7e3e2d65ca3f1eafcba76d])

afrontera85 commented 9 months ago

Il client java, se sostituisce tutte le info in pdnd.properties (clientid, purposeid...) e nel file test incolla una richiesta di C020 vedrà che funziona, lo hanno provato già in tanti

gcaferra commented 9 months ago

grazie per le info in effetti il client java funziona, ora il problema che ho e' che riscrivendo tutto con c# non funziona, sembra che ci sia un problema di token "govway_id":"0f5dd186-ca82-11ee-9ae7-005056ae1884"

Ho provato di tutto ma non riesco ad andare oltre la generazione del token che avviene correttamente, mi torna sempre 400

afrontera85 commented 8 months ago

grazie per le info in effetti il client java funziona, ora il problema che ho e' che riscrivendo tutto con c# non funziona, sembra che ci sia un problema di token "govway_id":"0f5dd186-ca82-11ee-9ae7-005056ae1884"

Ho provato di tutto ma non riesco ad andare oltre la generazione del token che avviene correttamente, mi torna sempre 400

L'errore relativo al govway_id indicato è il seguente: Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'content-type' possiede un valore differente rispetto a quello presente negli header firmati

robricco commented 8 months ago

Salve, anche noi stiamo ottenendo un errore 400 in ambiente di collaudo. La richiesta è la seguente: {"idOperazioneClient":"20240312121935","criteriRicerca":{"codiceFiscale":"SGGTTV60A01H501T"},"datiRichiesta":{"dataRiferimentoRichiesta":"2024-03-12","motivoRichiesta":"56712nfgn8631626","casoUso":"C020"}}

E restituisce il seguente errore: { "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "8acd8552-e142-11ee-aab1-005056ae1884" }

Potreste darci indicazione sull'errore? Grazie Roberto

afrontera85 commented 8 months ago

@robricco L'errore è il seguente: Validazione security token ModI 'INTEGRITY' della richiesta fallita: Riscontrate 3 eccezioni. Header HTTP 'Digest' non presente Header HTTP 'digest', dichiarato tra gli header firmati, non trovato Header HTTP 'encoding', dichiarato tra gli header firmati, non trovato

robricco commented 8 months ago

Abbiamo aggiunto gli header mancanti ma la risposta è sempre 400:

{ "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "6e04d375-e14f-11ee-bbf9-005056ae5232" }

afrontera85 commented 8 months ago

Validazione security token ModI 'INTEGRITY' della richiesta fallita: Header HTTP 'Digest' possiede un valore non corrispondente al messaggio

robricco commented 8 months ago

Abbiamo cambiato un po' di cose ma l'errore ritornato è sempre quello. Potete verificare se il motivo è cambiato su questa chiamata? { "type": "https://govway.org/handling-errors/400/InteroperabilityInvalidRequest.html", "title": "InteroperabilityInvalidRequest", "status": 400, "detail": "Received request is not conform to the required interoperability profile", "govway_id": "6a568352-e211-11ee-8d7b-005056ae5232" }

afrontera85 commented 8 months ago

Gli errori sono aumentati Validazione security token ModI 'INTEGRITY' della richiesta fallita: Riscontrate 3 eccezioni. Header HTTP 'Digest' possiede un valore non corrispondente al messaggio Header HTTP 'Content-Ecoding', dichiarato tra gli header firmati, non trovato Header HTTP 'Content-Yype', dichiarato tra gli header firmati, non trovato

robricco commented 8 months ago

Scusate, tralasciando gli ultimi due errori che sono banali errori di modifica fatti in uno dei tentativi, quello che non mi torna è il primo. Sto usando questo questo body: {"idOperazioneClient":"20240312121935","criteriRicerca":{"codiceFiscale":"SGGTTV60A01H501T"},"datiRichiesta":{"dataRiferimentoRichiesta":"2024-03-12","motivoRichiesta":"56712nfgn8631626","casoUso":"C020"}}

L'hash SHA256 calcolato mi risulta essere: dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk= Che è presente sia sull'header Digest in forma SHA-256=dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk= sia sul payload del JWT di signature: ... "signed_headers": [ { "Digest": "SHA-256=dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk=" }, { "Content-Type": "application/json" }, { "Content-Encoding": "UTF-8" } ] ...

Cosa sto sbagliando? Grazie della pazienza

robricco commented 8 months ago

Scusate, tralasciando gli ultimi due errori che sono banali errori di modifica fatti in uno dei tentativi, quello che non mi torna è il primo. Sto usando questo questo body: {"idOperazioneClient":"20240312121935","criteriRicerca":{"codiceFiscale":"SGGTTV60A01H501T"},"datiRichiesta":{"dataRiferimentoRichiesta":"2024-03-12","motivoRichiesta":"56712nfgn8631626","casoUso":"C020"}}

L'hash SHA256 calcolato mi risulta essere: dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk= Che è presente sia sull'header Digest in forma SHA-256=dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk= sia sul payload del JWT di signature: ... "signed_headers": [ { "Digest": "SHA-256=dvButaHqwpbj5Rpe56AoAToJ2Jjrv75IsHO6ls3HWGk=" }, { "Content-Type": "application/json" }, { "Content-Encoding": "UTF-8" } ] ...

Cosa sto sbagliando? Grazie della pazienza

Precisazione: la chiamata ho restituito il solito errore 400 con "govway_id": "69ad75e0-e215-11ee-8d7b-005056ae5232"

afrontera85 commented 8 months ago

Validazione security token ModI 'AUDIT' della richiesta fallita: Riscontrate 2 eccezioni. [Header 'Agid-JWT-TrackingEvidence'] Token senza claim 'userID' [Header 'Agid-JWT-TrackingEvidence'] Token senza claim 'userLocation'

robricco commented 8 months ago

Li ho aggiunti insieme anche al LoA ma ancora niente:

"govway_id": "1ba05d77-e21c-11ee-9ea0-005056ae1884"

afrontera85 commented 8 months ago

Verifica ModI della richiesta fallita: Riscontrate 4 eccezioni. Token creato nel futuro (data creazione: '+56171-08-12_13:31:45.000') Token contenente un claim 'aud' non valido [Header 'Agid-JWT-TrackingEvidence'] Token creato nel futuro (data creazione: '+56171-08-12_06:33:37.000') [Header 'Agid-JWT-TrackingEvidence'] Token contenente un claim 'aud' non valido

L'aud corretto è questo: https://modipa-val.anpr.interno.it/govway/rest/in/MinInternoPortaANPR/C020-servizioAccertamentoResidenza/v1