Ero sivun ”SCS” versioiden välillä
Rivi 1: | Rivi 1: | ||
[[Tiedosto:Scs.png|right|400px|thumb|SCS-tapahtuman viestit.]] | [[Tiedosto:Scs.png|right|400px|thumb|SCS-tapahtuman viestit.]] | ||
− | '''Signature Creation Service''' (''SCS'') on [[Digivirasto]]n kehittämä ja tuottama. | + | '''Signature Creation Service''' (''SCS'') on [[Digivirasto]]n kehittämä ja tuottama allekirjoitusratkaisu jossa päätelaitteessa allekirjoitetaan web-palvelussa sijaitseva sisältö. |
− | Allekirjoitustapahtumassa SCS | + | Allekirjoitustapahtumassa SCS käyttää käyttäjän päätelaitteessa väliohjelmiston (''eng middleware'') kautta saatavilla olevia henkilökortin varmenteita, tarjoaa niistä listan käyttäjälle ja allekirjoittaa tapahtuman käyttäjän valinnan ja syöttämän tunnusluvun jälkeen. |
− | SCS on oma ohjelmointirajapinta jonka tuki on toteutettava väliohjelmistossa toimiakseen. Nykyisellään | + | SCS on oma ohjelmointirajapinta jonka tuki on toteutettava väliohjelmistossa toimiakseen. Nykyisellään tuki sille löytyy [[DigiSign Client]] ja [[SecMaker]] Net iD ohjelmistosta. |
− | + | Tekninen toteutus on JSON-muotoa käyttävä rajapinta HTTP-yhteystavalla paikalliseen porttiin. Rajapintaa voi kokeilla avaamalla selaimella osoitteen https://localhost:53952/ jolloin aukeaa sivu jossa pystyy käyttämään erilaisia testejä jne. Itse json rajapinta tukee kahta operaatiota eli '''version''' ja '''sign''' operaatiot. Jos haluaa käyttää rajapintaa ilman salausta (https) niin porttinumero on 53951. | |
Version operaatio toimii hyvin yksinkertaisesti urli https://localhost:53952/version palauttaa: | Version operaatio toimii hyvin yksinkertaisesti urli https://localhost:53952/version palauttaa: |
Versio 26. heinäkuuta 2021 kello 07.54
Signature Creation Service (SCS) on Digiviraston kehittämä ja tuottama allekirjoitusratkaisu jossa päätelaitteessa allekirjoitetaan web-palvelussa sijaitseva sisältö.
Allekirjoitustapahtumassa SCS käyttää käyttäjän päätelaitteessa väliohjelmiston (eng middleware) kautta saatavilla olevia henkilökortin varmenteita, tarjoaa niistä listan käyttäjälle ja allekirjoittaa tapahtuman käyttäjän valinnan ja syöttämän tunnusluvun jälkeen.
SCS on oma ohjelmointirajapinta jonka tuki on toteutettava väliohjelmistossa toimiakseen. Nykyisellään tuki sille löytyy DigiSign Client ja SecMaker Net iD ohjelmistosta.
Tekninen toteutus on JSON-muotoa käyttävä rajapinta HTTP-yhteystavalla paikalliseen porttiin. Rajapintaa voi kokeilla avaamalla selaimella osoitteen https://localhost:53952/ jolloin aukeaa sivu jossa pystyy käyttämään erilaisia testejä jne. Itse json rajapinta tukee kahta operaatiota eli version ja sign operaatiot. Jos haluaa käyttää rajapintaa ilman salausta (https) niin porttinumero on 53951.
Version operaatio toimii hyvin yksinkertaisesti urli https://localhost:53952/version palauttaa:
{ "version": "1.1", "httpMethods": "GET, POST", "contentTypes": "data, digest", "signatureTypes": "signature,cms,cms-pades", "selectorAvailable": true, "hashAlgorithms": "SHA1, SHA224, SHA256, SHA384, SHA512" }
Varsinainen allekirjoitus operaatio on hieman monimutkaisempi, eli sinne https://localhost:53952/sign pitää lähettää seuraavan tapainen json:
{ "version": "1.1", "selector": { "keyusages": [ "digitalsignature" ] }, "signatureType": "signature", "hashAlgorithm": "SHA256", "contentType": "data", "content: "xxxx" }
Missä tuo xxxx on base64 encoodattu merkkijono, joka siis allekirjoitetaan. Tuossa data versiossa tuon pitää olla muotoa jossa alussa on urli ja sen perässä vähintään 64-merkkiä pitkä digest.
Ja vastauksena tulee:
{ "version": "1.1", "signatureAlgorithm": "SHA256withRSA", "signatureType": "signature", "signature": "Dsf...3SMLF==", "chain": [ "MII...8=", "MII...Y=", "MII...m" ], "status": "ok", "reasonCode": "200", "reasonText": "Signature generated" }
Missä tuo signature kenttä sisältää sen allekirjoituksen ja chain sisältää varmenneketjun allekirjoittajasta juurivarmenteeseen.
Katso myös
Aiheesta muualla
- https://dvv.fi/fineid-maaritykset - SCS määritykset
- dvv.fi - SCS-signatures_v1.0.1.pdf
- https://developer.fineid.fi/scs/ - SCS testisivustoja jne.