Dokumentsignering

FS-signering er en tjeneste for å signere PDF-dokumenter med et gyldig Unit-sertifikat som godkjennes av Adobe.

 

Generelt

Tjenesten er basert på smartkort som er en ganske treig teknologi slik at tjenesten er asynkron fordi det tar nesten 1 sekund å utføre en signering og det kan derfor lett bli kø for å få signert dokumenter.

Tjenesten har prioriteringsmekanismer som skal sørge for at interaktive applikasjoner blir prioritert over batch jobber. Hvilken prioritet en klient skal benytte må avtales. Det må også avtales hvilken appkode som skal benyttes evt. Appkode knyttes til en profil som beskriver hvordan signaturen skal plasseres i dokumentet og hvordan den skal se ut.

 

Grensesnitt

Tjenesten består av 3  json-endpoints

POST /signering/add

POST /signering/check

POST /signering/delete

POST /signering/search

GET /signering/get.pdf?dokid=<>

 

Add

Add mottar følgende json:

{

    "appkode":"HelloTest",

    "instnr":"99",

    "filnavn":"HelloTest",

    "bruker":"HelloUser",

    "priority":"now",

    "tsakrav":"true",

    "dokument" : "..Base64 encoded pdf dokument.."

}

 

Appkode: den profilen som skal signeres, kan være tom da får man default profil.

Filnavn: denne verdien lagres og returnes med dokumentet i check dersom dokumentet er ferdig.

instnr: Institusjonsnummer som dokumentet gjelder

Bruker: denne verdien lagres og returnes med dokumentet i check dersom dokumentet er ferdig.

Priority: tekstfelt som beskriver prioritet. Denne må avtales med forvaltning/drift når man tar i bruk tjenesten.

Tsakrav: om det skal legges inn tidspunkt fra time service authourity (difi.no) i vårt tilfelle. PDF får warnings dersom denne ikke settes til true.

Dokument: Base64 encoded pdf dokument.

 

Responsen er slik:

{

"dokid":"cb9c87af-cc09-4c6a-ab0f-9463940e6f2f",

}

 

konummer er hvilket nummer jobben er i køen.

eta er estimert tid til jobben er ferdig.

 

Check

Check request:

{

   "dokid" : "2eda9658-1756-46f4-872a-aca5365f1715"

   Ønsket utvidelse med: {

   "appkode": null

   "instnr": null

   "bruker": null

   "APPDOKREF": null

  }

}

Dokid finner man i responsen fra add eller search.

Response:

{
  "dokid": "6ea65232-3f4b-4c27-b779-8316e9f578a8",
  "appkode": "HelloTest",
  "instnr": "99",
  "bruker": "HelloUser",
  "filnavn": "HelloTest",
  "signedDokument": "... Base64 pdf dokument ...",
  "feilmelding": null,
  "md5": "a69439e34cfd85716a283966c47fa7f6"
}

 

delete

Request:

{

"dokid" : "2eda9658-1756-46f4-872a-aca5365f1715"

}

Dokid finner man i responsen fra add eller search.

 

Respons:

{
  "result": "true"
}

 

search

Request:

{

"appkode" : "HelloTest",

"instnr" : "99",

"bruker":"HelloUser"

}

Response:

med dokumenter:

{
  "result": [
    "f8a16da4-8ddb-4eef-840d-6ab141925538",
    "2b398d58-0561-4f06-ae11-176381f4582b"
  ]
}

Dokumentene kan også være dokumenter som har feilet, Dvs at at check vil gi en response med feilmelding og tom signeddokument element. Result er en tabell med dokid tilhørende brukeren for aktuell applikasjon og institusjon som er ferdig behandlet og ikke slettet ennå.

Ingen dokumenter:

{
  "result": []
}

 

Get.pdf

Metoden er en get operasjon som returnerer contenttype: «application/pdf» dvs at browseren åpner pdf dokumentet dersom den kan. Parameter dokid=<uuid>. Metoden er først og fremst laget for utvikling/testformål da ingen sluttbrukere på noen måte skal ha tilgang til grensesnittet i tjenesten.

 

Lagring

Signerte dokumenter blir liggende i 1-6mnd dette punktet er ikke avgjort ennå.

 

Testapplikasjon

https://vib-utv.uio.no/signing/... Kjører applikasjonen slik at utviklere kan kjøre mot den. Vedlagt ligger vibutvssl.jks som er sertifikatet for ssl mot maskinen.

Keystore ved å definere følgende 2 parametere til java:

-Djavax.net.ssl.trustStrore=vibutvssl.jks

 -Djavax.net.ssl.trustStorePassword=changeit

 

Det er også satt opp en web applikasjon som benytter javascript til å lage requester og behandle responsen, eksempelkode. Url: https://vib-utv.uio.no/testsign/form/. Testapplikasjonen kan brukes til å lage json request ved at du fyller inn alle feltene med dine verdier så får man ut requesten.

Testapplikasjonen kan også brukes til å se på signerte dokumenter som er sendt til signering på vib-utv.uio.no, du må da legge inn uuid for oppdraget velge check/open.

 

https://bitbucket.org/unit-norge-team/dokumentsignering/src/master/

Publisert 20. jan. 2021 12:49 - Sist endret 20. jan. 2021 13:32