ministero-salute / it-fse-support

https://ministero-salute.github.io/it-fse-support/
34 stars 20 forks source link

Richiesta Validazione Referto - InteroperabilityInvalidRequest #244

Closed salvatore-schiavottiello closed 1 year ago

salvatore-schiavottiello commented 1 year ago

Salve, lavoro per Kiranet s.r.l. e siamo già in possesso dei due certificati necessari.

Utilizzando i file di tests contenuti nella diretory it-fse-gtw-test-container, abbiamo eseguito una richiesta di validazione RSAutilizzando il file t1.4-validate-rsa.http. Il file sottoposto alla validazione è RSA.pdf e il file xml iniettato è RSA.xml. Il JWT è stato generato con la procedure implementate nel progetto jwt-generator e il json utilizzato per la generazione del token è stato estratto dal JWT presente nel file .env (variabile JWT_RSA_PAYLOAD). Il test eseguito verso un gtw in locale (docker) va a buon fine, quando invece viene eseguito verso il gtw pubblico otteniamo un errore.

I certificati utilizzati per la firma e l'invocazione sono: A1111KIRANETXXXX_auth.pem e S1111KIRANETXXXX_sign.pem.

Risposta del server pubblico:

HTTP/1.1 400 Bad Request X-Backside-Transport: FAIL FAIL Connection: close Transfer-Encoding: chunked Expires: 0 Cache-Control: no-cache, no-store, must-revalidate Server: GovWay-SOGEI Pragma: no-cache GovWay-Message-ID: 9c263a50-d387-11ed-8570-005056ae7395 GovWay-Transaction-ErrorType: InteroperabilityInvalidRequest GovWay-Transaction-ID: 9c2528de-d387-11ed-8570-005056ae7395 Date: Wed, 05 Apr 2023 08:50:12 GMT Vary: * X-Content-Type-Options: nosniff Content-Type: application/problem+json X-Global-Transaction-ID: 3f7e3e2d642d36436b1ccbad

{ "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": "9c2528de-d387-11ed-8570-005056ae7395" }

masciamariotti commented 1 year ago

Buongiorno Salvatore, per velocizzare l'analisi, potrebbe cortesemente allegare i 2 token utilizzati? Grazie

salvatore-schiavottiello commented 1 year ago

Salve, grazie per la disponibilità.

Le allego il JWT_RSA_PAYLOAD prodotto tramite jwt_generator.

La chiamata viene eseguita utilizzando Visual Studio Code utilizzando il Plugin Rest Client opportunamente configurato in modo da eseguire richieste https. La configurazione prevede di indicare il dominio e i certificati da utilizzare.

Il dominio è modipa-val.fse.salute.gov.it http://modipa-val.fse.salute.gov.it/.

Oltre al dominio la configurazione richiede di indicare la chiave privata e un certificato.

La chiave privata indicata è quella utilizzata per eseguire la richiesta (csr) di emissione di un certificato di autenticazione da parte vostra. Il certificato indicato è quello da voi emesso.

Lei mi richiede 2 token, uno è di sicuro il JWT_RSA_PAYLOAD, l’altro invece?

Ancora grazie.

A presto.

Cordiali saluti, Salvatore Schiavottiello

Il giorno 5 apr 2023, alle ore 12:09, masciamariotti @.***> ha scritto:

Buongiorno Salvatore, per velocizzare l'analisi, potrebbe cortesemente allegare i 2 token utilizzati? Grazie

— Reply to this email directly, view it on GitHub https://github.com/ministero-salute/it-fse-support/issues/244#issuecomment-1497241275, or unsubscribe https://github.com/notifications/unsubscribe-auth/A66WXOFCZM2RFLPBHDSUPX3W7VAFTANCNFSM6AAAAAAWTYYN4Q. You are receiving this because you authored the thread.

salvatore-schiavottiello commented 1 year ago

Avevo dimenticato l’allegato.

Saluti.

Il giorno 5 apr 2023, alle ore 12:29, Salvatore Schiavottiello @.***> ha scritto:

Salve, grazie per la disponibilità.

Le allego il JWT_RSA_PAYLOAD prodotto tramite jwt_generator.

La chiamata viene eseguita utilizzando Visual Studio Code utilizzando il Plugin Rest Client opportunamente configurato in modo da eseguire richieste https. La configurazione prevede di indicare il dominio e i certificati da utilizzare.

Il dominio è modipa-val.fse.salute.gov.it http://modipa-val.fse.salute.gov.it/.

Oltre al dominio la configurazione richiede di indicare la chiave privata e un certificato.

La chiave privata indicata è quella utilizzata per eseguire la richiesta (csr) di emissione di un certificato di autenticazione da parte vostra. Il certificato indicato è quello da voi emesso.

Lei mi richiede 2 token, uno è di sicuro il JWT_RSA_PAYLOAD, l’altro invece?

Ancora grazie.

A presto.

Cordiali saluti, Salvatore Schiavottiello

Il giorno 5 apr 2023, alle ore 12:09, masciamariotti @.***> ha scritto:

Buongiorno Salvatore, per velocizzare l'analisi, potrebbe cortesemente allegare i 2 token utilizzati? Grazie

— Reply to this email directly, view it on GitHub https://github.com/ministero-salute/it-fse-support/issues/244#issuecomment-1497241275, or unsubscribe https://github.com/notifications/unsubscribe-auth/A66WXOFCZM2RFLPBHDSUPX3W7VAFTANCNFSM6AAAAAAWTYYN4Q. You are receiving this because you authored the thread.

salvatore-schiavottiello commented 1 year ago

I token utilizzati sono i seguenti:

------------- Authorization Bearer Token ---------------

eyJ4NWMiOlsiTUlJRkt6Q0NBeE9nQXdJQkFnSVVEVVpVeTdYMWdvM2lwUGYycTNKQUxyaTJtaEV3RFFZSktvWklodmNOQVFFTEJRQXdWekVuTUNVR0ExVUVBd3dlUTBFZ1RXbHVhWE4wWlhKdklHUmxiR3hoSUZOaGJIVjBaU0JVWlhOME1SOHdIUVlEVlFRS0RCWk5hVzVwYzNSbGNtOGdaR1ZzYkdFZ1UyRnNkWFJsTVFzd0NRWURWUVFHRXdKSlZEQWVGdzB5TXpBek1UWXlNakF4TURSYUZ3MHlOakF6TVRZeU1qQXhNRE5hTUdreEN6QUpCZ05WQkFZVEFrbFVNUjh3SFFZRFZRUUtEQlpOYVc1cGMzUmxjbThnWkdWc2JHRWdVMkZzZFhSbE1SMHdHd1lEVlFSaERCUkRSanBKVkMweE1URkxTVkpCVGtWVVdGaFlXREVhTUJnR0ExVUVBd3dSVXpFak1URXhTMGxTUVU1RlZGaFlXRmd3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDMveXpabjJlcEMzMmxWNTZaVGZ3UE9qdGZnT0M4eUg4eGM1OEJJc0NyQ1BQcnYzWE92cFVMYVo2UGw0eS84dVJRRENtbkVadHVNZzY5aUdUNi8zbnZ1TjNLUDNFOTlxOEQ2OUJXVXZTc2RkekU1Z3FMVVF4UWtENUJCZG5VZkR1UXFpd3UrUFpqdmNBNFNuTnJnTzBLOWlaNGNLdlJ0dVl2a0VWeTVkd3NKVmhnc3NlcDAxSFNsSWxTRmg1LzhNaFEwaTMzQmw2K28rODR2SDdlRFRvNzJ5Yzk2TmVadlVsZzRSYVRneEJsNHh1eTExcHhaMUwwL1N4eVRXNzV3SHEyQ2NtbUZoMUNQbnFJdStMbWVtRUFaN1ZFUXdjVjZwSHY1Ry9JVGQwTzczd1U2OStmc3lOV3JQSmI3STJoT1lneENuMHAzZndNdDErOE11SGhGM0piQWdNQkFBR2pnZHd3Z2Rrd0h3WURWUjBqQkJnd0ZvQVVGam1wR2dXSnR3OHRzalh0d2dtYXhRT0RJajh3RWdZRFZSMGdCQXN3Q1RBSEJnVXJUQjBCQ3pCekJnTlZIUjhFYkRCcU1HaWdacUJraG1Kc1pHRndPaTh2WTJGa2N5NW1hVzVoYm5wbExtbDBMME5PUFVOQkpUSXdUV2x1YVhOMFpYSnZKVEl3WkdWc2JHRWxNakJUWVd4MWRHVWxNakJVWlhOMExFODlUV2x1YVhOMFpYSnZKVEl3WkdWc2JHRWxNakJUWVd4MWRHVXNRejFKVkRBZEJnTlZIUTRFRmdRVW9yS3BXUDE3VmczdXRTM3hOeGhNYUJsdVovc3dEZ1lEVlIwUEFRSC9CQVFEQWdaQU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ1lIZkE4dUJvc0xHRm94VDdaTFVhN2ljQTA5VUZBVWpGSzFsZUlVZEJvdU9YUlBzNURBMWh1ZTdRRmQ1L1J1UFEyanFrS1h6WVQyUjRpeGtsR0lhTEk4d2lucGs2Z3IyRDk0S0ZsN1NKeG5kOG1nTEJWZEQyWTJVMFpoblk4SGR4Q1JyMkRkdVE1ODRsSDBXSFdaY2JWMThaanQ2V1ZNUHZmcEhudEo2eS9jTHhYUUJLR25uQ21ybXhGVVZ5enJENG9Td1VSRWx4ZHdRbk4vRUNlME9qQ082NHdWNkNialVTaEcremVVZ0tSRHJIMlRENmRuems5TGU0L1I2bnRmaFdkVmcrTWh3Mm80emh2WGRlNkIzTjFhQnBnSjNieWloWjcwTzlSV1BIcGFFT2dGUDROMjg1UVp6dEV1c3N0Ym1mYks2WFZTMFhqcHVrTW9jRVpGNnZraDZQN2ZIeFY5cjA2VDRESGY5MkNUdW5oY0pueWxGR1VYTGpqMktCYndvc0k5VE92bFY0RWFNVTJUcUpqNDIyWnBYSDB4T1dYYnY4YXhlSzRsZ0xLcXVVMUVlQTQ3WU5aZUFVdEJxK3FNSldmRHV4enBmMFkxbTZkZWFtWUNESmx4ZXJVclZXZVIzNXE0aS94VXg4VWJZOUcvV2FNSlMvUHF6RjBFTFYzWXZPeGtsTFl4QUFFa284dmxrWnVjMWNDZWpoeUx1ZzFaYkwvVjZLQVVWU1BYYXFhZldVYVRUYjlvRTBpbldlU0hZMFNwbjZWeHM1L3ZpUHdXUDFGanpZUjU3c2pDU00xWmhEelVkek93dUJnQmc0WHQ1TlIvaXkrQnRlT2Z5ZHlVYUczTHZEZkdnZVFlUFI0M2Z1M0FldVV2L3djcGRJNGYyZW9vNmlvUDBKK0xnPT0iXSwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJTU1NNTk43NUIwMUYyNTdMXl5eJmFtcDsyLjE2Ljg0MC4xLjExMzg4My4yLjkuNC4zLjImYW1wO0lTTyIsImF1ZCI6Imh0dHBzOi8vbW9kaXBhLXZhbC5mc2Uuc2FsdXRlLmdvdi5pdC9nb3Z3YXkvcmVzdC9pbi9GU0UvZ2F0ZXdheS92MSIsImlzcyI6ImF1dGg6UzEjMTkwMjAxMjM0NTY3WFgiLCJleHAiOjE2ODA3MDY2MTksImlhdCI6MTY4MDcwMzAxOSwianRpIjoiMTU0MDkxODgwMCJ9.mCj4KR9CC21TaeZpB7Rf-RSpb3-a6NuzmxUnmsHX6rScFW7_wMFICG3AYbd90Pu5_wbpmPaDFxf4-ME6pjx9ArDbH4BytVKFPZytAR0oph-NWQFQ_kOxSuUxevZVh_MiU_klWkBgv9Joir8EQ-7hjwpL6Zkx1rwe8gytKfX8Tj1CwtJlRez5jTYr3k_mplVvHo2EBByNEW0enWaVYPb5OIuackwbzucSUGyYZP27P_22Rk2RyDoUZJVIvydD4o2JEq3LvuRSQg14C-2CVGlXsiF2-wo3aiEL1nBRJePyGiEsDyXiXu4cmJs1fHqukiYHKcx9HrGorH567QpgPgctYA

------------- FSE-JWT-Signature ---------------

eyJ4NWMiOlsiTUlJRkt6Q0NBeE9nQXdJQkFnSVVEVVpVeTdYMWdvM2lwUGYycTNKQUxyaTJtaEV3RFFZSktvWklodmNOQVFFTEJRQXdWekVuTUNVR0ExVUVBd3dlUTBFZ1RXbHVhWE4wWlhKdklHUmxiR3hoSUZOaGJIVjBaU0JVWlhOME1SOHdIUVlEVlFRS0RCWk5hVzVwYzNSbGNtOGdaR1ZzYkdFZ1UyRnNkWFJsTVFzd0NRWURWUVFHRXdKSlZEQWVGdzB5TXpBek1UWXlNakF4TURSYUZ3MHlOakF6TVRZeU1qQXhNRE5hTUdreEN6QUpCZ05WQkFZVEFrbFVNUjh3SFFZRFZRUUtEQlpOYVc1cGMzUmxjbThnWkdWc2JHRWdVMkZzZFhSbE1SMHdHd1lEVlFSaERCUkRSanBKVkMweE1URkxTVkpCVGtWVVdGaFlXREVhTUJnR0ExVUVBd3dSVXpFak1URXhTMGxTUVU1RlZGaFlXRmd3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRDMveXpabjJlcEMzMmxWNTZaVGZ3UE9qdGZnT0M4eUg4eGM1OEJJc0NyQ1BQcnYzWE92cFVMYVo2UGw0eS84dVJRRENtbkVadHVNZzY5aUdUNi8zbnZ1TjNLUDNFOTlxOEQ2OUJXVXZTc2RkekU1Z3FMVVF4UWtENUJCZG5VZkR1UXFpd3UrUFpqdmNBNFNuTnJnTzBLOWlaNGNLdlJ0dVl2a0VWeTVkd3NKVmhnc3NlcDAxSFNsSWxTRmg1LzhNaFEwaTMzQmw2K28rODR2SDdlRFRvNzJ5Yzk2TmVadlVsZzRSYVRneEJsNHh1eTExcHhaMUwwL1N4eVRXNzV3SHEyQ2NtbUZoMUNQbnFJdStMbWVtRUFaN1ZFUXdjVjZwSHY1Ry9JVGQwTzczd1U2OStmc3lOV3JQSmI3STJoT1lneENuMHAzZndNdDErOE11SGhGM0piQWdNQkFBR2pnZHd3Z2Rrd0h3WURWUjBqQkJnd0ZvQVVGam1wR2dXSnR3OHRzalh0d2dtYXhRT0RJajh3RWdZRFZSMGdCQXN3Q1RBSEJnVXJUQjBCQ3pCekJnTlZIUjhFYkRCcU1HaWdacUJraG1Kc1pHRndPaTh2WTJGa2N5NW1hVzVoYm5wbExtbDBMME5PUFVOQkpUSXdUV2x1YVhOMFpYSnZKVEl3WkdWc2JHRWxNakJUWVd4MWRHVWxNakJVWlhOMExFODlUV2x1YVhOMFpYSnZKVEl3WkdWc2JHRWxNakJUWVd4MWRHVXNRejFKVkRBZEJnTlZIUTRFRmdRVW9yS3BXUDE3VmczdXRTM3hOeGhNYUJsdVovc3dEZ1lEVlIwUEFRSC9CQVFEQWdaQU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ1lIZkE4dUJvc0xHRm94VDdaTFVhN2ljQTA5VUZBVWpGSzFsZUlVZEJvdU9YUlBzNURBMWh1ZTdRRmQ1L1J1UFEyanFrS1h6WVQyUjRpeGtsR0lhTEk4d2lucGs2Z3IyRDk0S0ZsN1NKeG5kOG1nTEJWZEQyWTJVMFpoblk4SGR4Q1JyMkRkdVE1ODRsSDBXSFdaY2JWMThaanQ2V1ZNUHZmcEhudEo2eS9jTHhYUUJLR25uQ21ybXhGVVZ5enJENG9Td1VSRWx4ZHdRbk4vRUNlME9qQ082NHdWNkNialVTaEcremVVZ0tSRHJIMlRENmRuems5TGU0L1I2bnRmaFdkVmcrTWh3Mm80emh2WGRlNkIzTjFhQnBnSjNieWloWjcwTzlSV1BIcGFFT2dGUDROMjg1UVp6dEV1c3N0Ym1mYks2WFZTMFhqcHVrTW9jRVpGNnZraDZQN2ZIeFY5cjA2VDRESGY5MkNUdW5oY0pueWxGR1VYTGpqMktCYndvc0k5VE92bFY0RWFNVTJUcUpqNDIyWnBYSDB4T1dYYnY4YXhlSzRsZ0xLcXVVMUVlQTQ3WU5aZUFVdEJxK3FNSldmRHV4enBmMFkxbTZkZWFtWUNESmx4ZXJVclZXZVIzNXE0aS94VXg4VWJZOUcvV2FNSlMvUHF6RjBFTFYzWXZPeGtsTFl4QUFFa284dmxrWnVjMWNDZWpoeUx1ZzFaYkwvVjZLQVVWU1BYYXFhZldVYVRUYjlvRTBpbldlU0hZMFNwbjZWeHM1L3ZpUHdXUDFGanpZUjU3c2pDU00xWmhEelVkek93dUJnQmc0WHQ1TlIvaXkrQnRlT2Z5ZHlVYUczTHZEZkdnZVFlUFI0M2Z1M0FldVV2L3djcGRJNGYyZW9vNmlvUDBKK0xnPT0iXSwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJTU1NNTk43NUIwMUYyNTdMXl5eJmFtcDsyLjE2Ljg0MC4xLjExMzg4My4yLjkuNC4zLjImYW1wO0lTTyIsInN1YmplY3Rfcm9sZSI6IkFBUyIsInB1cnBvc2Vfb2ZfdXNlIjoiVFJFQVRNRU5UIiwiaXNzIjoiaW50ZWdyaXR5OlMxIzE5MDIwMTIzNDU2N1hYIiwibG9jYWxpdHkiOiIyMDExMjM0NTYiLCJzdWJqZWN0X2FwcGxpY2F0aW9uX3ZlcnNpb24iOiJSMiIsInN1YmplY3Rfb3JnYW5pemF0aW9uIjoiUmVnaW9uZSBMYXppbyIsInN1YmplY3Rfb3JnYW5pemF0aW9uX2lkIjoiMTIwIiwiYXVkIjoiaHR0cHM6Ly9tb2RpcGEtdmFsLmZzZS5zYWx1dGUuZ292Lml0L2dvdndheS9yZXN0L2luL0ZTRS9nYXRld2F5L3YxIiwicGF0aWVudF9jb25zZW50Ijp0cnVlLCJhY3Rpb25faWQiOiJDUkVBVEUiLCJyZXNvdXJjZV9obDdfdHlwZSI6IignMTE0ODgtNF5eMi4xNi44NDAuMS4xMTM4ODMuNi4xJykiLCJzdWJqZWN0X2FwcGxpY2F0aW9uX2lkIjoiR1RXIiwiZXhwIjoxNjgwNzA2NjE5LCJzdWJqZWN0X2FwcGxpY2F0aW9uX3ZlbmRvciI6IkdBVEVXQVkiLCJpYXQiOjE2ODA3MDMwMTksImp0aSI6IjE1NDA5MTg4MDAiLCJwZXJzb25faWQiOiJHVFdHV1k4MkI0Mkc5MjBNXl5eJmFtcDsyLjE2Ljg0MC4xLjExMzg4My4yLjkuNC4zLjImYW1wO0lTTyJ9.OD1ROh7vYSWo2bm6R-AUF4t0cDNdB2M0gKxfRnqVuWnMx6nWaHjKNTN4oO7B3z5d3YIEytnrgN9ueWpYNEfcGRZkwoHqJCRMY0TOv-gYxiFAmYmlH9Zt-zdC8Ozl3IXJP_xA6PJFBqPICHHIzVlV4MGko_15GI4Nerfxt83X45bAMQRUF0ADFAgw-lmO7Z8PKRFreXw4V9k-lo5xY06P6hw8sybiP5OdHCLueM7oMcTkeP4Q-4c-mYkFvmVwK4Cw9Xhnzj_r7iVHVfCH0csEVVJghkq5MgBgKMvRzn5SaBtbrx4HRX-vTQbyxIY2o6FdWKIRJ3bHhM249agrt5QFhw

Attualmente la risposta che otteniamo è la seguente:

{"type":"https://govway.org/handling-errors/403/AuthorizationContentDeny.html","title":"AuthorizationContentDeny","status":403,"detail":"Unauthorized request content","govway_id":"98addfda-d3b0-11ed-8570-005056ae7395"}

Il test è stato eseguito nelle stesse condizioni dei test precedenti.

masciamariotti commented 1 year ago

Buongiorno Salvatore, da una prima analisi sembrerebbe che stia inviando all'interno dei 2 token JWT un common name errato all'interno del parametro iss: Authorization token --> "iss": "auth:S1#190201234567XX" Signature token --> "iss": "integrity:S1#190201234567XX" che non corrisponde con quello contenuto nel certificato di firma 111KIRANETXXXX

IStacchiotti commented 1 year ago

Buonasera, non avendo ricevuto ulteriori riscontri, la presente viene chiusa come risolta. Si può procedere con la riapertura in caso contrario.