Allkirjastamine

Iga päringuga saadetakse päringu signatuur, et kõrvalisel isikul poleks võimalust teha API päringut isegi kui kontovõti on teada saadud. Signatuur saadetakse sig parameetriga.

Signatuuri koostamine

  1. Koostada saadetud päringu parameetritest päringustring:
    • Kodeerida URL kujul parameetrite nimed ja väärtused järgmiste reeglite järgi:
      • Mitte kodeerida järgmiseid märke (vastavalt RFC 3986): A-Z, a-z, 0-9, -, _, punkt, ja tilde (~) .
      • Kodeerida ülejäänud tähemärke kujul %XY, kus X ja Y on hex märgid 0-9 ja A-F.
      • Kodeerida UTF-8 laiendatud märke kujul %XY%ZA…
      • Kodeerida tühikut kujul %20.
    • Eraldada parameetrite nimed nende väärtustest võrdusmärgiga (=), isegi kui parameetri väärtus on tühi.
    • Järjestada moodustatud nimi-väärtus paarid leksikograafiliselt.
    • Eralda nimi-väärtus paare ampersandiga (&) (ASCII kood 38).
  2. Luua string allkirjastamiseks järgneva pseudokoodi alusel. HTTPRequestURI on HTTP URI osa, ilma küsimärgita:
    StringToSign = HTTPVerb + "\n" +
    HTTPRequestURI + "\n" + 
    päringustring <eelmisest etapist>
  3. Arvutada RFC 2104-ühilduv HMAC-SHA1 räsikood stringist, mis oli eelnevalt koostatud, kasutades teie turvavõtit kui security keyd.
  4. Räsikood konverteerida BASE64 väärtuseks.

Näide

Juhul, kui on vaja arvutada signatuuri selleks päringuks:

https://api.arhivaar.ee/api/v0_1/document/upload.html

millel on järgmised päringuparameetrid

metadataSubject: Subject
acc_key: 45324522524653
filename: my%20family.jpg
folderId: 6834

siis punkti 2 alusel tuleb selline string

POST\n
/api/v0_1/document/upload.html\n
acc_key=45324522524653&filename=my%20family.jpg&folderId=6834&metadataSubject=Subject 
 
Eesti Arhivaar OÜ © 2011. Kõik õigused on kaitstud. Tegevusluba nr. 000110.