Altinn / app-lib-dotnet

Libraries used in Altinn Apps
BSD 3-Clause "New" or "Revised" License
8 stars 11 forks source link

Forhindre at sluttbrukersystem laster opp data til datatype som skal inneholde signaturobjektet #656

Open veronikaandersen opened 5 months ago

veronikaandersen commented 5 months ago

Description

https://docs.altinn.studio//nb/app/development/process/tasks/signing/#konfigurere-hvor-signaturobjektet-skal-lagres Hvis man har en signerings task, må man ha en datatype hvor signaturobjektet skal lagres. Denne datatypen skiller seg ikke fra andre datatyper, så sluttbrukersystem har mulighet til å laste opp data på denne datatypen. Det feiler om man prøver å laste opp noe annet en det som er tillatt i allowedContentTypes, men man kan lett komme seg rundt det om man sier at det man laster opp er av en type som er tillatt i header - content-type og content-disposition. Da kan man lastet opp hva man vi…

Om signering task er siste prosessteg før task end:

TT02 instans: https://dibk.apps.tt02.altinn.no/dibk/ig-v3/instances/50293843/1482152c-80ac-4a35-8e91-e1d402b25b0f

Steg for steg - fra sluttbrukersystem sin side..

Resultat av dette er at jeg har en instans som har gått til process end med to signaturobjekter, selv om det bare skal være tillatt med et. Det ene signaturobjektet inneholder i tillegg en xml...

image

image

image

image

Ønsker om endring

  1. Vi må forhindre at sluttbruker har skrive-tilgang til signatur datatypen.

Hva vi kan gjøre:

... Men dette er kanskje noe Altinn bør ta seg av, så vi slipper å måtte konfigurere dette for alle apper som har signering?

  1. Ved opplasting av data må det sjekkes at innholdet er i henhold til det man angir i header content-type. Her har vi forslag til løsning: https://github.com/Altinn/fileanalyzers-lib-dotnet/pull/19

En ting jeg ikke har testet, men som jeg mistenker går, er om man har et signering task og neste steg ikke er end. Da vil man kanskje kunne gjøre en PUT på datatypen signering og erstatte signaturen med noe annet?....

Additional Information

No response

veronikaandersen commented 5 months ago

Har dere en arkitekturskisse eller funksjonell beskrivelse av hvordan Altinn tenker seg at signering skal virke, også hvilken rettsvirkning en signering er tenkt å skulle ha og hvordan det sikres? Den eneste dokumentasjon av signering jeg finner er denne: Signerings task – Altinn

veronikaandersen commented 1 month ago

@RonnyB71 , er dette noe dere har sett på ? For vår del er det løst ved å sette "allowedContributers": [ "org:dibk" ] på datatypen for signatur, men om det er det vi må/bør gjøre er det kanskje greit å tipse om det i dokumentasjonen om konfigurasjon av datatype for signatur. https://docs.altinn.studio//nb/app/development/process/tasks/signing/#konfigurere-hvor-signaturobjektet-skal-lagres

martinothamar commented 1 month ago

Vi skal starte på en del forbedringer rundt signering ila de neste sprintene, deriblant denne issuen. Vi har snakket noe om løsning, men vi kommer tilbake når vi har noe konkret