Skip to end of metadata
Go to start of metadata

1. Georgian ID Card აპლიკაციის გამოყენება ციფრული ხელმოწერისას

1.1. ზოგადი აღწერა

ხელმოწერის პროცესის მსვლელობისას ხდება ინფორმაციის მიმოცვლა სერვერსა და აპლიკაციას შორის. ხელმოწერის აპლიკაციის გამოსაყენებლად საჭიროა HTTP REST (SSL ით დაცული) სერვისი, რომელიც დააბრუნებს შესაბამისი სტრუქტურის JSON-ს, (აღწერა §1.2) მაგალითად https://example.com/getJson, პროგრამის გასახსნელადსაჭიროა ბმულის შეცვლა შემდეგნაირად: geoeid-unitool://example.com/getJson. შეცვლილ ბმულზე დაკლიკების შედეგად გაიხსნება Georgian ID Card პროგრამა და Json-ს წამოიღებს  https://example.com/getJson მისამართიდან.

1.2. Json-სტრუქტურა

JSON არის შემდეგი სახის:

{

  • dataType - მონაცემის ტიპი (“hash” ან “document”)
  • dataHex - მონაცემის ჰეში (არ არის აუცილებელი)
  • dataUrl - მისამართი, საიდანაც აპლიკაცია შეძლებს დოკუმენტის წამოღებას
  • hash - ჰეში, რომელიც გამოიყენება ხელმოწერის აგებისას.
  • signAlg - ხელმოწერის ალგორითმი (მაგ:sha256withRSA)
  • submitUrl - მისამართი, სადაც აპლიკაცია დააბრუნებს ხელმოწერის ობიექტს (post მეთოდით). თუ ცარიელია, მაშინ აბრუნებს იმ მისამართზე, რომელიც მითითებულია გამოძახებისას (ჩვენს შემთხვევაში: https://example.com/getJson მისამართზე)
  • description - ხელმოწერის მოკლე აღწერა
  • docType - დოკუმენტის ტიპი (მაგალითად: “PDF”)
  • language - ხელმოწერის აპლიკაციის ინტერფეისის ენა (“ka” ან “en”)
  • keyId - ოპერაციის სახელი ( “sign”)
  • signatureProfile - ხელმოწერის ტიპი (“B”, “BT”, “LT”, “LTA”)
  • padesUsage – true თუ dataType პარამეტრი არის hash და განკუთვნილია PDF ხელმოწერისთვის. false წინააღდმეგ შემთხვევაში.

}

1.2.1. Json-ის ზოგიერთი პარამეტრის დეტალური აღწერა

როდესაც dataType არის “hash”, ამ შემთხვევაში hash პარამეტრში განთავსებული უნდა ხელმოსაწერი ჰეშის hex-string მნიშვნელობა PDF დოკუმენტში ხელმოწერის განსათავსებლად:

  • padesUsage პარამეტრი უნდა იყოს true
  • hash პარამეტრის მნიშვნელობა უნდა იყოს PDF დოკუმენტზე ხელმოსაწერი ჰეში, რომელიც არ არის მხოლოდ PDF დოკუმენტის ჰეში. DSS ბილიოთეკის გამოყენების შემთხვევაში ამ მნიშვნელობას მიიღებთ PDFSignatureService.digest მეთოდის გამოყენებით.
  • signatureProfile უნდა იყოს B” ან BT”

თუ dataType არის “hash” და padesUsage არის false, ხელმოწერია იქნება CadES BASELINE პროფილით შესრულებული. ამ შემთხვევაში signatureProfile შეიძლება იყოს: “B”, “BT”, “LT”, “LTA”

 

როდესაც dataType არის “document”, საჭიროა ხელმოსაწერი დოკუმენტის გადმოსაწერი მისამართის მითითება dataUrl-ში, ამ შემთხვევაში hash პარამეტრს ყურადღება არ ექცევა.

 

პარამეტრი signatureProfile - განსაზღვრავს ხელმოწერის ტიპს.

  • B – მოკლევადიანი ხელმოწერა (PAdES_BASELINE_B ან CAdES_BASELINE_B)
  • BT  -   მოკლევადიანი ხელმოწერა, დროის აიღნიშვნით (PAdES_BASELINE_T ან CAdES_BASELINE_T)
  • LT- ხანგრძლივი შემოწმების (PAdES_BASELINE_LT ან CAdES_BASELINE_LT)
  • LTA - ხანგრძლივი შემოწმების, დოკუმენტის დროის აღნიშვნით (PAdES_BASELINE_LTA ან CAdES_BASELINE_LTA)

1.3. ხელმოწერის მიღება სერვერზე

Georgian ID Card აპლიკაცია სერვერიდან წაიკითხავს JSON ობიექტს და გამოიტანს ხელმოწერის ინტერფეისს, ხელმოწერის დასრულების შემდეგ ვებსერვერს დაუბრუნებს ხელმოწერას submitUrl-ში მითითებულ მისამართზე, ან იმ მისამართზე საიდანაც წაიკითხა:

dataType =“hash“ შემთხვევაში ხელმოწერის ობიექტის (CMS Signed Data)  hex-string-ს POST მეთოდით და მისი პარამეტრის სახელია signedData.

dataType =“document“-ის შემთხვევაში აიტვირთება ხელმოწერილი დოკუმენტი, მისი პარამეტრის სახელია signedFile.

 

2. Georgian ID Card აპლიკაციის გამოყენება ავთენტიფიკაციისთვის

ავთენტიფიკაციის დროს, Json სტრუქტურა განსხვავდება ხელმოწერის Json სტრუქტურისგან.

2.1. Json-სტრუქტურა

JSON არის შემდეგი სახის:

{

  • dataType - მონაცემის ტიპი (“hash”)
  • hash - ჰეში, რომელიც გამოიყენება ხელმოწერის აგებისას.
  • signAlg - ხელმოწერის ალგორითმი (მაგ: “sha256withRSA“)
  • submitUrl - მისამართი, სადაც აპლიკაცია დააბრუნებს ხელმოწერის ობიექტს (post მეთოდით). თუ ცარიელია, მაშინ აბრუნებს იმ მისამართზე, რომელიც მითითებულია გამოძახებისას (ჩვენს შემთხვევაში: https://example.com/getJson მისამართზე)
  • description - მოკლე აღწერა (არ არის აუცილებელი)
  • language - ხელმოწერის აპლიკაციის ინტერფეისის ენა (“ka” ან “en”)
  • keyId - ოპერაციის სახელი (“auth”)

}

2.2. Json აგების დეტალები

ავთენტიფიკაციისთვის სერვერმა უნდა დააგენერიროს Challenge, რომელზეც მოხდება ხელის მოწერა ავთენტიფიკაციის გასაღებით. Json ის hash-მნიშვნელობაში უნდა ჩაწეროს challenge-ის ჰეშ მნიშვნელობა, sha256 ალგორითმით.

2.3. ხელმოწერის მიღება სერვერზე

Georgian ID Card აპლიკაცია სერვერიდან წაიკითხავს JSON ობიექტს და გამოიტანს ავთენტიფიკაციის ინტერფეისს. ავთენტიფიკაციის დასრულების შემდეგ ვებსერვერი submitUrl-ში მითითებულ მისამართზე (ან იმ მისამართზე საიდანაც წაიკითხა)   დააბრუნებს CAdES ხელმოწერას. ხელმოწერის ვალიაცია შესაძლებელია DSS ბიბლიოთეკის საშუალებით

  • No labels