Elektroniskā paraksta nodrošinātāja API
Elektroniskā paraksta API ģenerē digitālos parakstus (PKCS #1) ar parakstīšanas identitātēm, ko pārvalda platforma.
Iegūstiet parakstīšanas identitātes informāciju
Ir divu veidu parakstīšanas identitātes — viena elektroniskajai parakstīšanai un otra autentifikācijai
Pieprasījums
GET /trustedx-resources/esigp/v1/sign_identities/{sign_identity_id}Autorizācija
Pieprasījumā ir jāietver nesēja piekļuves marķieris, ko ģenerējis tā pakalpojuma uzticams autorizācijas serveris, no kura tiek pieprasīta informācija par parakstīšanas identitāti, un kas ir saistīts ar domēnu, kuram pieder identitāte. Šis marķieris ir jāizmanto atbilstoši RFC 6750. Tam ir jābūt urn:safelayer:eidas:sign:identity:profile tvērumam (scope).
Marķieris ir jāiekļauj HTTP autorizācijas galvenē šādi:
Authorization: Bearer <token>Piekļuves marķieri var iegūt, izmantojot autorizācijas koda piešķiršanu vai pakalpojumu sniedzēja akreditācijas datu piešķiršanas OAuth 2.0 plūsmu.
Piemērs
GET /trustedx-resources/esigp/v1/sign_identities/12345678 HTTP/1.1
Authorization: Bearer mF_9.B5f-4.1JqMAtbilde
Atbildes pamatteksta attēlojums JSON formātā ir norādīts tālāk
{
"id" : {string},
"self" : {string},
"description" : {string},
"labels" : [ {string} ],
"type" : {string},
"device_id" : {string},
"domain" : {string},
"access" : [ {
"user_id" : {string}
} ]
"details" : {
"certificate" : {string},
"activation_mode": {string},
"public_key" : {string}
},
"links" : {
<operation_alias> : {
"auth" : {
"oauth2": {
"scopes": [ {string} ]
}
}
}
},
"status" : {
"value" : {string},
"reason" : {string}
}
}| Parametrs | Apraksts |
|---|---|
id | Parakstīšanas identitātes identifikators. |
self | Piekļuve parakstīšanas identitātes URL. |
description | Parakstīšanas identitātes apraksts. |
labels[ ] | Ar parakstīšanas identitāti saistīto tagu saraksts. |
type | Parakstīšanas identitātes veids. Šim parametram pašlaik vienmēr ir pki:x509 vērtība. |
device_id | Ierīce, kurā atrodas ar parakstīšanas identitāti saistīto atslēgu privātā daļa. Šis parametrs ir tikai parakstīšanas identitātēm mobilajās ierīcēs. |
domain | Domēns, kuram pieder parakstīšanas identitāte. |
access[ ] | Informācija par piekļuves kontroli parakstīšanas identitātei. |
access[ ].user_id | Tā galalietotāja identifikators, kuram ir piekļuve parakstīšanas identitātei. |
details | Sīkāka informācija par parakstīšanas identitātes ieviešanu. |
details.certificate | X.509 sertifikāts, kas kodēts DER un base64. Šis parametrs ir tikai pki:x509 parakstīšanas identitātēm. |
details.activation_mode | Parakstīšanas identitātes aktivizācijas režīms. Šis parametrs ir tikai servera parakstīšanas identitātēm, un tam var būt šādas vērtības: hsm-pwd: paraksta identitāti aktivizē parole, ko ievada īpašnieks un apstiprina HSM. |
details.public_key | Ar parakstīšanas identitāti saistīto atslēgu publiskā daļa. PublicKeyInfo ASN.1 struktūra, kas kodēta DER un base64. Šis parametrs ir tikai pki:x509 parakstīšanas identitātēm. |
links | Informācija par operācijām, kurās tiek izmantota parakstīšanas identitāte. |
links.\<operation_alias> | Informācija par \<operation_alias> operāciju saistībā ar parakstīšanas identitātes izmantošanu. Šobrīd vienīgā iespējamā vērtība priekš \<operation_alias> ir Signatures.create.server.raw |
links.\<operation_alias>.auth | Autorizācijas informācija par \<operation_alias> operāciju saistībā ar parakstīšanas identitātes izmantošanu. |
links.\<operation_alias>.auth.oauth2 | OAuth 2.0 autorizācijas informācija par \<_operation_alias_> operāciju saistībā ar parakstīšanas identitātes izmantošanu. |
links.\<operation_alias>.auth.oauth2.scopes[ ] | OAuth 2.0 tvērumu kopums, kas nepieciešams piekļuvei\<operation_alias> operācijai, lai šī operācija varētu izmantot parakstīšanas identitāti. |
status | Informācija par parakstīšanas identitātes statusu. |
status.value | Parakstīšanas identitātes statuss.
|
status.reason | Iemesls, kāpēc parakstīšanas identitāte ir pašreizējā stāvoklī. Šis parametrs nav obligāts un parasti tiek izmantots, lai norādītu, kāpēc parakstīšanas identitāte ir bloķēta vai atspējota. |
Lai saņemtu parakstīšanas sertifikātu, etiķešu masīvs satur
serverid.Lai saņemtu autentifikācijas sertifikātu, etiķešu masīvs satur
mobileid.
Izveidojiet digitālo parakstu serverī
Apraksts
Izveido datu ciparparakstu (PKCS #1), izmantojot parakstīšanas identitāti serverī. Kā ievadi var saņemt datu jaucējvērtību (hash) vai baitu virkni, kas jāparaksta neapstrādātā veidā.
Paraksts tiek izveidots ar parakstīšanas identitāti serverī, kas norādīts pieprasījumā. Šai identitātei ir jāpieder galalietotājam, kura vārdā tiek veikta darbība.
Pieprasījums
POST /trustedx-resources/esigp/v1/signatures/server/rawContent-type galvene
Content-Type: application/jsonPamatteksts (body)
{
"digest_value" : {string},
"signature_algorithm" : {string},
"sign_identity_id" : {string}
}| Parametrs | Apraksts |
|---|---|
digest_value | Hash of the data to be signed encoded in base64. |
signature_algorithm | Algoritms, kas jāizmanto digitālā paraksta ģenerēšanai (rsa-sha1, rsa-sha256, rsa-sha384, rsa-sha512 un ecdsa). Paraksta algoritma izvēlei jābūt balstītai uz klienta sertifikātā atrodamo atslēgas algoritmu. |
sign_identity_id | Parakstīšanas identitātes identifikators, kas jāizmanto paraksta ģenerēšanai (tai jābūt servera parakstīšanas identitātei, kas pieder galalietotājam, kura vārdā tiek veikts paraksts). |
Piemērs
POST /trustedx-resources/esigp/v1/signatures/server/raw
Host: eidas.eparaksts.lv
Content-Type: application/json
Authorization: Bearer cbc...6daf
Content-Length: 213
{
"digest_value" : "n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg",
"signature_algorithm" : "rsa-sha256",
"sign_identity_id" : "nio...omq"
}Atbilde
Atbilde satur PKCS #1 paraksta bināro vērtību.
Ja izmantojat Sign API pakalpojumu, PKCS#1 ir jābūt base64 kodētam ( hexToBase64 )
Serverī izveidojiet digitālā paraksta partiju
Apraksts
Izveido digitālu parakstu partiju no datu jaucējvērtībām (hash), kas jāparaksta, izmantojot servera parakstīšanas identitāti.
Paraksts tiek izveidots ar parakstīšanas identitāti serverī, kas norādīts pieprasījumā. Šai identitātei ir jāpieder galalietotājam, kura vārdā tiek veikta darbība.
Šo metodi var izmantot arī vienreizējai parakstīšanai. Galvenās atšķirības: partijas metodes atbilde ar base64 kodētiem parakstītiem datiem, bet vienreizējas parakstīšanas metodes atbilde ar PKCS#1 neapstrādātu parakstu.
Apraksts
POST /trustedx-resources/esigp/v1/signatures/server/raw/batchContent-type galvener
Content-Type: application/jsonPamatteksts (body)
{
"sign_identity_id" : {string},
"signature_algorithm" : {string},
"requests" : [
{
"digest_value" : {string},
"signature_algorithm" : {string}
}
]
}| Parametrs | Apraksts |
|---|---|
sign_identity_id | Parakstīšanas identitātes identifikators, kas jāizmanto paraksta ģenerēšanai (tai jābūt servera parakstīšanas identitātei, kas pieder galalietotājam, kura vārdā tiek veikts paraksts). |
signature_algorithm | Algoritms parakstu ģenerēšanai izmantojamo kriptogrāfisko jaucēju (rsa-sha1, rsa-sha256, rsa-sha384 un rsa-sha512) iegūšanai, ja katram no tiem nav norādīts cits algoritms. |
requests[ ] | Informācija par kriptogrāfijas jaucējkodiem (hashes), kas jāizmanto parakstu ģenerēšanai. |
requests[ ].digest_value | Parakstu ģenerēšanai izmantotā kriptogrāfiskā jaucējkodējuma Base64 kodējums. |
requests[ ].signature_algorithm | Algoritms, kas jāizmanto digitālā paraksta ģenerēšanai (rsa-sha1, rsa-sha256, rsa-sha384, rsa-sha512 un ecdsa). Paraksta algoritma izvēlei jābūt balstītai uz klienta sertifikātā atrodamo atslēgas algoritmu. |
Piekļuves kontrole
Pieprasījumā ir jāietver nesēja piekļuves marķieris (bearer access token), ko ģenerējis uzticams autorizācijas serveris, kas ir saistīts ar paraksta identitātes domēnu, ko jāizmanto paraksta ģenerēšanai. Šim marķierim (token) ir jābūt tvērumam (scope), kas ietver parakstīšanas identitātei konfigurēto vērtību (pēc noklusējuma urn:safelayer:eidas:sign:identity:use:server ), un tas ir jāizmanto atbilstoši RFC 6750. Būtībā marķieris ir jāiekļauj Autorizācijas galvenē šādi:
Authorization: Bearer <token>Piekļuves marķieris ir jāiegūst, izmantojot autorizācijas koda piešķiršanas OAuth 2.0 plūsmu.
Piemērs
POST /trustedx-resources/esigp/v1/signatures/server/raw/batch
Host: eidas.eparaksts.lv
Content-Type: application/json
Authorization: Bearer cbc...6daf
Content-Length: 213
{
"sign_identity_id": "12345678",
"signature_algorithm": "rsa-sha1",
"requests": [
{
"digest_value": "RXN0byBlcyB1biBoYXNoIFNoYTE=",
"signature_algorithm": "rsa-sha1"
},
{
"digest_value": "siHZ27CDp/M0KNfCo8MZiuklYU1wIQ4ocWzKp81N23k",
"signature_algorithm": "rsa-sha256"
}
]
}Atbilde
Pamatteksts (body)
{
"signatures" : [ {string} ]
}| Parametrs | Apraksts |
|---|---|
signatures[] | Digitāli paraksti, kas kodēti base64. Parakstiem ir tāda pati secība, kādā pieprasījumā tiek parādīti kriptogrāfiskie jaucējfaili (hashes), no kuriem tie tika izveidoti. |