italia / anpr

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

[C019 Test] Errore intereoperabilità #4449

Closed euberdeveloper closed 5 months ago

euberdeveloper commented 5 months ago

Stiamo provando ad utilizzare il servizio C019.

  1. Abbiamo ottenuto il voucher pdnd come da documentazione.
  2. Abbiamo creato anche un Agid-JWT-TrackingEvidence
  3. Sia provando ad effettuare la richiesta /status che /anpr-service-e002 otteniamo lo stesso errore: 400 not conform to the required interoperability profile

Here are more details:

Voucher pdnd senza firma

eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsInVzZSI6InNpZyIsImtpZCI6IjMyZDhhMzIxLTE1NjgtNDRmNS05NTU4LWE5MDcyZjUxOWQyZCJ9.eyJhdWQiOiJodHRwczovL21vZGlwYS12YWwuYW5wci5pbnRlcm5vLml0L2dvdndheS9yZXN0L2luL01pbkludGVybm9Qb3J0YUFOUFIvQzAxOS1zZXJ2aXppb0FjY2VydGFtZW50b0VzaXN0ZW56YVZpdGEvdjEiLCJzdWIiOiIzZDFkZjhhYS0yM2EzLTQwODktYjI0MC05ZjkyM2RjYzcxYTciLCJuYmYiOjE3MDk3NzkzMzgsImRpZ2VzdCI6eyJhbGciOiJTSEEyNTYiLCJ2YWx1ZSI6IjZjZTZjZDM4NDNjNGNkNDE1ODU5YWNiNjNiNDRmZmExNTcxNTk2MjRlMGUwNDUzMjU3MDE4YjcxZDhlMTcwNjAifSwicHVycG9zZUlkIjoiNmY3NzI2NDMtMzg0NC00NzRhLWIzZDEtZjlhMDEwODlhYjQ2IiwiaXNzIjoidWF0LmludGVyb3AucGFnb3BhLml0IiwiZXhwIjoxNzA5Nzc5OTM4LCJpYXQiOjE3MDk3NzkzMzgsImNsaWVudF9pZCI6IjNkMWRmOGFhLTIzYTMtNDA4OS1iMjQwLTlmOTIzZGNjNzFhNyIsImp0aSI6IjE0MzMyYTE2LTE5NzAtNGNmMy04ODIyLTcxNmM3YTJlZDhiNyJ9

Agip Traking Evidence

eyJhbGciOiJSUzI1NiIsICJraWQiOiIxMVZOMXA5cmVBM3JoRmVjcC1rSjJJSzAta0FaOTdfWkRaQ1A3Qm9vSDlrIiwgInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL21vZGlwYS12YWwuYW5wci5pbnRlcm5vLml0L2dvdndheS9yZXN0L2luL01pbkludGVybm9Qb3J0YUFOUFItUERORC9DMDE5LXNlcnZpemlvQWNjZXJ0YW1lbnRvRXNpc3RlbnphVml0YS92MSIsICJjbGllbnRfaWQiOiIzZDFkZjhhYS0yM2EzLTQwODktYjI0MC05ZjkyM2RjYzcxYTciLCAiZXhwIjoxNzA5Nzg2NTIyLCAiaWF0IjoxNzA5NzgyOTIyLCAianRpIjoibHcxNzA5NzgyOTIyIiwgIkxvQSI6InNwaWQiLCAibm9uY2UiOjE3MDk3ODI5MjIsICJwdXJwb3NlSWQiOiI2Zjc3MjY0My0zODQ0LTQ3NGEtYjNkMS1mOWEwMTA4OWFiNDYiLCAidXNlcklEIjoiZnJhbmNlc2NvcmVkZGF2aWRlIiwgInVzZXJMb2NhdGlvbiI6Imx3THV4In0

Digest dell'agip ...

6ce6cd3843c4cd415859acb63b44ffa157159624e0e0453257018b71d8e17060

GET /status

{
    "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": "9c0cd078-dc25-11ee-9422-005056ae5232"
}

POST /anpr-service-e002

corpo

{
  "idOperazioneClient": "1709307826151A",
  "criteriRicerca": {
    "codiceFiscale": "SGGNNA90R50F839T"
  },
  "datiRichiesta": {
    "dataRiferimentoRichiesta": "2020-02-28",
    "motivoRichiesta": "Prova per vedere se le api funzionano",
    "casoUso": "C019"
  }
}

risposta:

{
    "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": "a850c46b-dc25-11ee-8302-005056ae1884"
}

Per favore dare riscontro il prima possibile, è urgente

euberdeveloper commented 5 months ago

Aggiornamento:

Dopo aver fatto alcuni aggiustamenti riguardanti il protocollo AUDIT_REST_02 ed INTEGRITY_REST_02, il problema persiste:

{
    "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": "82ae6dfe-dc83-11ee-8302-005056ae1884"
}
azabatta commented 5 months ago

Buonasera, di seguito l'errore rilevato:

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

Saluti

euberdeveloper commented 5 months ago

Buongiorno, ho fatto degli aggiustamenti, ma ho ancora lo stesso 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": "2c19546f-dc91-11ee-9422-005056ae5232"
}

Vorrei anche cogliere l'occasione per chiedere ulteriori conferme su come calcolare il digest:

  1. si prende il body (json stringified) della richiesta
  2. se ne fa un sha-256
  3. si fa un base64 encode
  4. si aggiunge SHA-256= all'inizio
  5. lo si mette in un header "digest" (nel mio caso ho messo la minuscola, immagino sia c. insensitive)

Nel mio caso, con questo body:

{"idOperazioneClient":"1709307826151A","criteriRicerca":{"codiceFiscale":"SGGNNA90R50F839T"},"datiRichiesta":{"dataRiferimentoRichiesta":"2020-02-28","motivoRichiesta":"Prova per vedere se le api funzionano","casoUso":"C019"}}

Ottengo questo digest:

SHA-256=MGRkYmViY2ZlN2FmOGM2ZThjNzE0YzcxMmJhMTYwOGVhZTBhZWYyMzM0Y2QyM2I1ZDJkMmJmMGJjMTFmOThiZg==

La prego anche di confermare che non ci siano errori nel voucher e nel agid tracking e che il problema sta solo nell'integrity

euberdeveloper commented 5 months ago

Ulteriore aggiornamento, dopo un'altro tentativo diverso di computazione del digest (adesso il digest è SHA-256=Ddvrz+evjG6McUxxK6Fgjq4K7yM0zSO10tK/C8EfmL8=), l'errore permane:

{
    "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": "51dd520c-dcc9-11ee-9422-005056ae5232"
}
afrontera85 commented 5 months ago

Ulteriore aggiornamento, dopo un'altro tentativo diverso di computazione del digest (adesso il digest è SHA-256=Ddvrz+evjG6McUxxK6Fgjq4K7yM0zSO10tK/C8EfmL8=), l'errore permane:

{
    "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": "51dd520c-dcc9-11ee-9422-005056ae5232"
}

Adesso l'errore è questo: Verifica ModI della richiesta fallita: Riscontrate 2 eccezioni. Token creato nel futuro (data creazione: '2024-03-08_00:16:04.000') [Header 'Agid-JWT-TrackingEvidence'] Token creato nel futuro (data creazione: '2024-03-08_00:16:04.000')

euberdeveloper commented 5 months ago

Ok, l'errore era quello, ora è tutto sistemato, grazie mille!

Un'altra cosa, ho notato che solo a volte ancora non va, può essere che ci sia un problema di sincronizzazione dell'orario? Mettendo now - 100s non fallisce più...