ხელმოწერის მოდულის ინიციალიზაცია არ არის დაინსტალირებული. CryptoPro CSP მოდულის ინსტალაცია Mozilla Firefox ბრაუზერში. გზა. აპლიკაციის დანამატების ჩართვა

დანამატის დაყენების წესები CryptoPro CSPMozilla Firefoxისინი განსხვავდება ბრაუზერის ვერსიის მიხედვით - 52 ან უფრო მაღალი ან უფრო ძველი.

Mozilla Firefox 52-ზე დაბალი ვერსიები

დოკუმენტების გასაფორმებლად Mozilla Firefox-ში:

Პატარა 1. დაატრიალეთ და განაახლეთ Mozilla Firefox
  • დააინსტალირეთ ვერსია 51.0.1 ოფიციალური Mozilla Firefox ვებსაიტიდან.

CryptoPro Browser plug-in-ის დასაყენებლად, თქვენ უნდა შეხვიდეთ:

  1. ჩამოტვირთეთ ინსტალაციის პროგრამა Crypto-Pro კომპანიის ოფიციალური ვებგვერდიდან www.cryptopro.ru/products/cades/plugin და გაუშვით შედგენილი ფაილი.

2. CryptoPro Browser plug-in-ის ინსტალაციის ფანჯარაში დააწკაპუნეთ ღილაკზე „ასე“ (მცირე 2-a).

Პატარა 2-ა. CryptoPro Browser დანამატის ინსტალაცია

3. შეამოწმეთ ინსტალაციის დასრულება (Mal. 2-b).

Პატარა 2-ბ. CryptoPro Browser დანამატის ინსტალაცია

4. დააწკაპუნეთ ღილაკზე „Ok“ და გადატვირთეთ ვებ ბრაუზერი (Small 2).

Პატარა 2-ინ. CryptoPro Browser დანამატის ინსტალაცია

Მნიშვნელოვანი

CryptoPro-ს დაყენების შემდეგბრაუზერი დანამატი- inთქვენ უნდა შეამოწმოთ, არის თუ არა თქვენს ბრაუზერში დაინსტალირებული CryptoPro ელექტრონული ხელმოწერით მუშაობის დანამატი EDS ბრაუზერიდანამატი ბრაუზერებისთვის.

5. გახსენით ბრაუზერი, დააჭირეთ ღილაკს “Browser Menu”, აირჩიეთ “Add-ons” განყოფილება (Small 3).

Პატარა 3. ბრაუზერის მენიუ

6. გადადით "Plugins" ჩანართზე. დანამატის „CryptoPro CAdES NPAPI Browser Plug-in“-ის საპირისპიროდ, მენიუდან, რომელიც გამოჩნდება, აირჩიეთ ვარიანტი „პირველი ჩართვა“ (მცირე 4).


Პატარა 4. დამატებითი ფუნქციების მართვა

7. გადატვირთეთ ბრაუზერი.

Mozilla Firefox ვერსია 52 და უფრო მაღალი

CryptoPro Browser plug-in-ის დასაყენებლად გადადით:

  1. გადადით www.cryptopro.ru/products/cades/plugin-ზე, შემდეგ აირჩიეთ „ბრაუზერის გაფართოება“ (Mal. 5).


Პატარა 5. CryptoPro ვებსაიტი

2. დააჭირეთ "Allow" (Mal. 6).


Პატარა 6. დაუშვა მოთხოვნა

3. დააჭირეთ „დამატებას“ (Mal. 7).

Გამარჯობა ყველას! სინამდვილეში, ბევრ ადამიანს შეეძლო დაენახა შეტყობინება „ვერ ჩაერთო დანამატში“ მონიტორის ეკრანზე ონლაინ აუდიოს ან ვიდეოს შექმნისას, ან მცდელობისას გაუშვა ნებისმიერი ფლეშ ანიმაცია (თამაში, ბანერი, პროგრამა და ა.შ.). ). თუ ამ მხარეზე იხარჯები, მაშინ დიდი ალბათობით მიიღო სიკეთე. დღეს, ამ მცირე ინსტრუქციით, ჩვენ შეგიწყალებიათ“ ვერ მივაღწიე მოდულის გამოყენებას"თქვენი ბრაუზერით ადვილია.

მე ვიჩქარებ, მეგობრებო, მოდით გაერკვნენ, რატომ დავაყენეთ ასეთი დანამატი ბრაუზერში. მოდული არის დანამატი, რომელიც აფართოებს ინტერნეტ ბრაუზერის შესაძლებლობებს. დღევანდელი დანამატები ძალიან ძლიერია და ყველა სუნი განსხვავებულია. ყველა ბრაუზერს აქვს დაინსტალირებული ძირითადი დანამატები ვებ რესურსების სწორად ჩვენებისთვის. თუ ბრაუზერში გამოჩნდება შეტყობინება მათ შესახებ, ვინც არ ჩართო დანამატი, მაშინ, სავარაუდოდ, პრობლემა არის Flash Player. ქვემოთ განვიხილავთ რამდენიმე გზას, რომელთა გამოყენებაც შეგიძლიათ გამოსწორების მიზნით qiu პატიება.

1 მეთოდი. ინტერნეტ ბრაუზერის განახლება

ეს მეთოდი ყველაზე მარტივია და ყველაზე მეტ დანაკარგს ეხმარება. მე ვაჩვენებ ყველა მანიპულაციას პოპულარული Google Chrome ბრაუზერის გამოყენებით. თუ სხვა ბრაუზერს იყენებთ, ნუ დაიკვეხნით, ყველაფერი იგივეა. ახლა ბრაუზერის განახლებისთვის გადადით მენიუში – რჩევა – ბრაუზერის შესახებ.


"პროგრამის შესახებ" გვერდზე გადადით ღილაკზე "განახლება".


განახლების შემდეგ, ჩვენ ვამოწმებთ, რომ კვლავ გამოჩნდება შეცდომა "მოდულის გააქტიურება ვერ მოხერხდა". ვინაიდან ეს ქმედებები არ დაეხმარა პრობლემის მოგვარებას, გადავედით შემდეგ ეტაპზე.

მე-2 მეთოდი. ბრაუზერის ისტორიის გასუფთავება

ეს მეთოდი დაგეხმარებათ ამ სიტუაციაში, თუ ასეთი რელიეფი აღარ არის ხელმისაწვდომი სხვა რესურსებზე. ყველაფერი მარტივია - თქვენ უბრალოდ უნდა გაასუფთავოთ ქეში და ქუქიები თქვენს ბრაუზერში.

ქეში – ბრაუზერის დროებითი ფაილები, რომლებიც ინახავს ნანახი რესურსების ყველა ვებ კომპონენტს (სურათებს, გვერდებს, ვიდეო ფაილებს, დიზაინს და ა.შ.). ქეშის ბრაუზერის გამო, ბრაუზერი სწრაფად წვდება იმ საიტების გვერდებს, რომლებიც ადრე იყო ხელმისაწვდომი, რადგან რესურსის კომპონენტებზე წვდომა ხდება არა ინტერნეტით, არამედ ადგილობრივი დისკიკომპიუტერი.

Cookies ასევე არის დროებითი ფაილები, რომლებიც ინახავს მომხმარებლის პერსონალურ მონაცემებს (ლოგინი, პაროლები, ვებსაიტის პარამეტრები და ა.შ.). როდესაც თქვენ გადახვალთ ნებისმიერ გვერდზე, ბრაუზერის მიერ მოცემული ყველა მონაცემი იგზავნება სერვერზე და შემდეგ ჩვენ შეგვიძლია შევიდეთ ნებისმიერ რესურსზე ავტორიზაციისთვის შესვლისა და პაროლის დავიწყების გარეშე.

ასე რომ, მოდით გავასუფთავოთ ქეში და ქუქი ფაილები თქვენს ბრაუზერში, რათა გამოსწორება სცადოთ. გადადით მენიუში და აირჩიეთ "ისტორია".


შემდეგ დააწკაპუნეთ ღილაკზე „ისტორიის გასუფთავება“ და დარწმუნდით, რომ ჩამრთველი არის მონიშნული, როგორც ეს ნაჩვენებია ეკრანის სურათზე ქვემოთ.


ამის შემდეგ, თქვენ აღარ დაგჭირდებათ თქვენი ბრაუზერის გადატვირთვა.

მე-3 მეთოდი. აპლიკაციის დანამატების ჩართვა

თუ პირველი ორი მეთოდი არ დაგვეხმარა, ჩვენ ვაგრძელებთ მოდულის ჩართვას. ჯერ გავხსნათ მე-3 მხარე დაინსტალირებული დანამატები. კანის ბრაუზერისთვის მისამართებია:

თუ Chrome-ის მომხმარებელი ხართ, აკრიფეთ chrome://plugins მისამართის ზოლში
თუ Yandex-ის მომხმარებელი ხართ, ჩაწერეთ browser://plugins მისამართის ზოლში
თუ ოპერის ვიკორისტი ხართ, მისამართების ზოლში ჩაწერეთ opera://plugins
თუ Firefox-ის გამარჯვებული ხართ, აკრიფეთ about:plugins მისამართის ზოლში


როდესაც იხსნება გვერდი დანამატებით, მნიშვნელოვანია გაგიკვირდეთ, რა არის ეს ფლეშ მოდულიმოთამაშე. თუ ეს ასეა, მაშინ გირჩევთ ჩართოთ იგი (რაც ნიშნავს, რომ ტიპი არის PPAPI).


გამოსვლის შემდეგ, ჩვენ გადატვირთავთ ბრაუზერს და კვლავ ვამოწმებთ.

მე-4 მეთოდი. Adobe Flash Player-ის ხელახლა ინსტალაცია

ვინაიდან მეთოდის ერთზე მეტმა აღწერამ არ იმუშავა, რაჯა ტოდიმ გადააკეთა Adobe Flashმოთამაშე. რატომ ჯანდაბა უნდა მოვიშორო? ძველი ვერსიაფლეშ პლეერი კარავანის პანელში - პროგრამები და კომპონენტები. გთხოვთ ჩამოტვირთოთ ვერსიას შევინარჩუნებ Adobe Flash Player ოფიციალური საიტიდან.


იმედი მაქვს, რომ ჩემი ინსტრუქციები მოკლეა საჭმლის გამოსწორების შესახებ. ვერ მივაღწიე მოდულის გამოყენებას» დაგეხმარა. თუ ეს პრობლემა სხვა გზით მოაგვარეთ, შეგიძლიათ დაწეროთ კომენტარებში და დაეხმარებით მდიდარ ადამიანებს! მადლობა პატივისცემისთვის და ყოველივე საუკეთესო!

გამოქვეყნდა 02/03/2016 ქ

Zagalnye Vidomosti

მოდულის პროგრამული ინტერფეისი გადასცემს მოწოდებას ასინქრონულ ოპერაციებზე, რომლებიც განხორციელებულია დაპირებული ობიექტების ქვეშ. თქვენ შეგიძლიათ წაიკითხოთ მოხსენება Vicoristan-ის შესახებ მოდულის სპეციფიკაციის განხორციელებაში. დაპირებებზე აუცილებელია ორი ტიპის გადამწყვეტის დაყენება:

  • onშესრულებულია– იკითხეთ, შეიძლება თუ არა დაპირების წარმატებით შესრულება;
  • უარყოფილია– ჰკითხეთ, შეიძლება თუ არა დაპირება „მოწყალებით დასრულდეს“.
დაპირებების დაყენების უნივერსალური მეთოდი ასე გამოიყურება: premt.then(onFulfilled, onRejected)

მოდულის ინიციალიზაცია

დანამატთან მუშაობისთვის საჭიროა გამოიყენოთ plugin.initPKCS11 კომპონენტის PKCS#11 ინიციალიზაციის ფუნქცია. ეს ფუნქციაპარამეტრად იღებს მოდულების სახელს (მაივის სახით). გადაცემის მოდულების არჩევანი შეიძლება გადაიხედოს. თუ მოდულები არ არის მითითებული, დანამატი დაიწყებს ყველა მოდულს.
თუ თქვენ უნდა მიუთითოთ რომელი კრიპტო პროვაიდერები გამოიყენებენ capi მოდულს capi მოდულის გამოყენებისას, გამოიყენეთ შემდეგი ჩანაწერის ფორმატი:

კაპი:(prov1),(რეჟიმი):(prov2),(რეჟიმი)

ვისი ჩანაწერები:

  • prov1, prov2 – კრიპტოპროვაიდერის სახელი. ამ დროს ხაზგასმულია შემდეგი მნიშვნელობები:
    • Crypto-Pro GOST R 34.10-2001 კრიპტოგრაფიული სერვისის პროვაიდერი;
    • Crypto-Pro GOST R 34.10-2012 კრიპტოგრაფიული სერვისის პროვაიდერი;
    • Crypto-Pro GOST R 34.10-2012 ძლიერი კრიპტოგრაფიული სერვისის პროვაიდერი;
    • Signal-COM CPGOST კრიპტოგრაფიული პროვაიდერი;
    • Signal-COM GOST R 34.10-2012 (256) კრიპტოგრაფიული პროვაიდერი;
    • Signal-COM GOST R 34.10-2012 (512) კრიპტოგრაფიული პროვაიდერი;
    • Infotecs კრიპტოგრაფიული სერვისის პროვაიდერი.
  • რეჟიმი - PIN კოდის შეყვანის ფანჯრის ჩვენების რეჟიმი. შეგიძლიათ მიიღოთ შემდეგი მნიშვნელობები:
  • 0 – გადარიცხვების რეჟიმი, გადარიცხვები კრიპტოპროვაიდერის მიერ;
  • 1 - კრიპტო პროვაიდერის მშობლიური ფანჯრის ჩვენება.
    შენიშვნა: Linux-ზე Crypto-Pro-სთან მუშაობისას, კრიპტოპროვაიდერის მშობლიური ფანჯარა მიუწვდომელია.
  • 2 – ფანჯრის ჩვენება დანამატის ინტერფეისში.
    შენიშვნა: როდესაც Signal-COM არის დაინსტალირებული, მოდულის ინტერფეისის ჩვენების ფანჯარა მიუწვდომელია.

Windows სისტემის საქაღალდიდან გასაღებების მისაღებად, მიჰყევით თქვენი პროვაიდერის სახელს და რეჟიმი არის ჩემი.
ყველა მოდულის დაწყების მაგალითი:

Plugin.initPKCS11(["ISBC ESMART", "Aladdin R.D. Unified JaCarta", "Rutoken", "SafeNet", "capi:Crypto-Pro GOST R 34.10-2001 კრიპტოგრაფიული სერვისის პროვაიდერი,0:Crypto-Pro GOST R 3421 Cryptographic Service პროვაიდერი,0:Crypto-Pro GOST R 34.10-2012 ძლიერი კრიპტოგრაფიული სერვისის პროვაიდერი,0:Signal-COM CPGOST კრიპტოგრაფიული პროვაიდერი,0:Signal-COM GOST R 34.10-2012 (256) კრიპტოგრაფიული პროვაიდერი,0 (2-1234). კრიპტოგრაფიული პროვაიდერი,0:Infotecs კრიპტოგრაფიული სერვისის პროვაიდერი,0: ,Ჩემი"])

Windows სისტემის საქაღალდიდან გასაღებების მოსაპოვებლად მოდულის დაწყების მაგალითი:

Plugin.initPKCS11(["capi: ,Ჩემი"])

წარმატებული ინიციალიზაციის შემდეგ, ფუნქცია აბრუნებს ობიექტს (შემდგომში დამატებითი დაპირების მექანიზმის გამოყენებით) მოდულებში და getCertsForSign ფუნქციებზე.

მოდულების ნაკადის მიმოხილვა და მათი გარეგნობა

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

Pkcs11.modules.then(onFulfilled, on Rejected);

სხვადასხვა ფუნქციების მაგალითი (დაბეჭდილი კითხვის გასამარტივებლად):

[ ( "enable": true, "name": "Aladdin R.D. Unified JaCarta" ), ( "enable": true, "name": "Rutoken ECP" ), ( "enable": false, "error": "100 :ვერ ჩაიტვირთა p11 მოდული", "სახელი": "ISBC ESMART" ] ]

სერთიფიკატების სიის განხილვა

იდენტიფიცირებული სერთიფიკატების სიის სანახავად, თქვენ უნდა გამოიძახოთ getCertsForSign ფუნქცია. აუცილებელია ზარის ფუნქციის პარამეტრის მითითება, რათა გამოვიყენოთ ინიციალიზებული PKCS#11 მოდულების ტესტირების პარალელური რეჟიმი:

  • მართალია– მოდულების პარალელური განვითარება (რეკომენდაციის რეჟიმი);
  • ყალბი- თანმიმდევრული მასშტაბირება მოდულებამდე.
სერთიფიკატების გადატანა მასივში (JavaScript Array), თითოეული სერტიფიკატის ობიექტის ელემენტები. სერტიფიკატის ობიექტზე შეგიძლიათ აირჩიოთ ფუნქციები full_info, cms_sign_on_it და start_signing.

კონკრეტული სერტიფიკატის შესახებ მონაცემების განხილვა

კონკრეტული სერტიფიკატის შესახებ ინფორმაციის სანახავად, თქვენ უნდა დააჭიროთ full_info, რომელიც აჩვენებს ინფორმაციას სერთიფიკატის შესახებ json ობიექტის ხედში. იგი მოიცავს შემდეგ პარამეტრებს:

  • snსერიული ნომერისერტიფიკატი;
  • საგანი– მონაცემები სუბიექტის შესახებ, რომელზეც გაიცა ეს სერტიფიკატი ელექტრონული ხელმოწერა. ის გამოჩნდება json ფორმატში ფორმატში: მნიშვნელობები და პარამეტრი არის ავთენტური ობიექტის იდენტიფიკატორის სახელი (OID). ყველა სტანდარტული ობიექტის იდენტიფიკატორი მოცემულია სტანდარტული აღნიშვნებით, მაგალითად, CN (საერთო სახელი).
  • ემიტენტი– ინფორმაცია ელექტრონული ხელმოწერის გასაღების სერტიფიკატის გაცემის შესახებ. ის გამოჩნდება json ფორმატში ფორმატში: მნიშვნელობები და პარამეტრი არის ავთენტური ობიექტის იდენტიფიკატორის სახელი (OID). ყველა სტანდარტული ობიექტის იდენტიფიკატორს ენიჭება სტანდარტული მნიშვნელობა;
  • არა_ადრე– სერტიფიკატის საათი (მონაცემთა ტიპი – მწკრივი ASN1_TIME ფორმატში);
  • არა_შემდეგ– სერტიფიკატის შევსების საათი (მონაცემთა ტიპი – რიგი ASN1_TIME ფორმატში);
  • გასაღები_გამოყენება– ინფორმაცია გასაღების ამოცნობის შესახებ, რომელიც გამოჩნდება მასივში.
ASN1_TIME ფორმატში სერტიფიკატის დაწყების/დასრულების საათის თარგმნა შესაძლებელია სტანდარტული ფორმატიშემდგომი დახმარებისთვის ფუნქციონირებს ახალითარიღი (ASN1_TIME) .

ელექტრონული ხელმოწერის გასაღების შესახებ მონაცემების განხილვა

ელექტრონული ხელმოწერის სერტიფიკატის კონკრეტული გასაღების შესახებ ინფორმაციის სანახავად, თქვენ უნდა გამოიძახოთ token_info მეთოდი. მეთოდი აბრუნებს json ობიექტს შემდეგი მონაცემებით:

  • ეტიკეტი– გასაღების კონტეინერის დასახელება ელექტრონული ხელმოწერისთვის;
  • მწარმოებლის ID– ელექტრონული ხელმოწერის გამომცემლის იდენტიფიკატორი;
  • მოდელი– მოდელი ელექტრონული ხელმოწერის მიზნით;
  • სერიული ნომერი- ინდივიდუალური ელექტრონული ხელმოწერის სერიული ნომერი.
გასაღებებისთვის, რომლებიც მუშავდება capi-მოდულის მეშვეობით, შებრუნებულ მონაცემებს განსხვავებული გარეგნობა აქვს. მოდელის ატრიბუტი ყოველთვის შეიცავს მნიშვნელობას „capi“, ატრიბუტი serialNumber ყოველთვის მიუთითებს კრიპტოპროვაიდერის სახელს, ხოლო ეტიკეტი მიუთითებს კონტეინერის სახელს.

ხელმოწერის ოპერაცია შერჩეული სერტიფიკატის გამოყენებით

მარტივი გამოწერის რეჟიმი

არჩეული სერთიფიკატის გამოყენებით მწკრივის გასაფორმებლად, უნდა გამოიძახოთ cms_sign_on_it ფუნქცია, რომელიც იღებს შემდეგ შეყვანის პარამეტრებს:

  • ხელმოწერის რიგი;
  • ხელმოწერის ტიპი - არის თუ არა ხელმოწერა მიღებული (აუცილებელია მნიშვნელობის გადაცემა true) თუ მიღებული (false).
როგორც მტკიცებულება, ფუნქცია ატრიალებს რიგს ხელმოწერით CAdES-BES / PKCS#7 მიმაგრებულ/გამოყოფილ ფორმატში.
დაწკაპუნების ფუნქციის მაგალითი, რომელსაც შეუძლია დააწკაპუნოს სერტიფიკატის ობიექტზე: cms_sign_on_it("1234", 3, true).then(function(cms)(console.log(cms)));

გაფართოებების გამოწერის რეჟიმი

გაფართოების რეჟიმი საშუალებას იძლევა:

  • მოაწერეთ ხელი დიდი ჩართულობის ხარკებს, მაგალითად ფაილებს;
  • მოაწერეთ რამდენიმე ფაილი PIN კოდის ხელახლა შეყვანის გარეშე.

დამატებითი შერჩეული სერთიფიკატის მონაცემების ხელმოწერისთვის, საჭიროა ჯერ ხელმომწერის ობიექტის ინიციალიზაცია სერტიფიკატის ობიექტზე დამატებითი start_signing ფუნქციის გამოყენებით. ფუნქციის პარამეტრები:

  • ხელმოწერის ტიპი - მიღებულია თუ არა ხელმოწერა (აუცილებელია მნიშვნელობის გადაცემა true) თუ მიღებული (false);
  • PIN კოდის შეყვანის ტესტების რაოდენობა (მაგალითად, მნიშვნელობა "1" ნიშნავს, რომ მომხმარებელს სჭირდება მხოლოდ ერთი ტესტი, რის შემდეგაც ფუნქცია აბრუნებს გადატვირთვას).

შემდეგი მეთოდები ხელმისაწვდომი იქნება ხელმომწერ ობიექტზე:

  • add_data_in_hex(hexDataString) - იღებს მონაცემებს თექვსმეტობითი მწკრივიდან შეყვანად;
  • add_data_in_base64(base64DataString) - იღებს მონაცემებს base64 სტრიქონიდან შეყვანად;
  • add_data_in_string(stringData) - იღებს მონაცემებს შეყვანად utf-8 მწკრივის სახით;
  • free() - აბრუნებს მნიშვნელობებს true/false, რაც საშუალებას გაძლევთ შეამოწმოთ, რომ სერთიფიკატი მზადაა ხელმოწერამდე. თუ განმეორებითი ხელმოწერა გამოიყენება სხვადასხვა სერთიფიკატებზე, აუცილებელია შემდეგი ოფციის გამოყენება. სხვა სიტყვებით რომ ვთქვათ, თუ რამდენიმე სერტიფიკატზე არის თანმიმდევრული ხელმოწერა, ხელმოწერამდე აუცილებელია ამ მეთოდის გამოძახება და შემდეგ მისი გადაქცევა true-ზე;
  • finish() - ასრულებს ხელმოწერას და გარდაქმნის მას CAdES-BES/PKCS#7 ფორმატში.
როგორც მტკიცებულება, ფუნქცია ატრიალებს რიგს ხელმოწერით CAdES-BES / PKCS#7 მიმაგრებულ/გამოყოფილ ფორმატში.

რიგის ხელმოწერა

ბრძანების მაგალითი საშუალებას გაძლევთ ხელი მოაწეროთ მწკრივს:

Signer.add_data_in_string("1234").then(function(res)( return signer.finish();)).then(function(cms)(console.log(cms))));

ამ ბრძანებას აქვს "1234" - თანმიმდევრობა, რომელიც უნდა იყოს ხელმოწერილი.

მრავალჯერადი ხელმოწერის დაყენება

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

სხვა სერტიფიკატზე ხელმოწერისთვის, თქვენ უნდა გაასუფთაოთ ხელმომწერის ობიექტი. ბრაუზერების უმეტესობაში, ეს ობიექტი ავტომატურად იშლება, როდესაც ის კარგავს მის ფარგლებს. თუმცა, Internet Explorerშესაძლო სიტუაციები, თუ ხელმომწერის გაწმენდა შეუძლებელია, უნდა განხორციელდეს გარეცხვის წინ. უნიკალურობისთვის რეკომენდებულია signer.free() . ეს ოპერაციაშეიძლება განხორციელდეს ყველა ბრაუზერში კოდის გაერთიანებისთვის. სერტიფიკატის ხელმოწერის მაგალითი ხელმომწერის ობიექტის გასუფთავებით:

ფუნქციის ნიშანი(cert, info) ( ფუნქცია successCms(ხელმოწერა) ( alert(signature); ) cert.start_signing(false, 3) .then(function(signer) ( signer.add_data_in_base64("MTIzNDU2") .then(function) ( var data = signer.finish(); var free = signer.free(); მონაცემების დაბრუნება; ), e) .then(successCms, e), e);

დიდი ბუნდოვნების ფაილის გამოწერა

ფუნქცია readFileByChunk(file, cbToRead, cbToFinish) ( var fileSize = file.size; var chunkSize = 1024 * 1024; // bytes var offset = 0; var chunkReaderBlock = null; var self = this; var if (evt.target. შეცდომა == null) ( cbToRead(evt.target.result, offset, fileSize); offset += evt.target.result.byteLength; ) else ( console.error("Read error: " + evt .target.error); showError("File read: " + evt.target.error return (offset >= fileSize) ); ) chunkReaderBlock = ფუნქცია (_offset, _chunkSize, _file) ( var r = new FileReader(); if (_file.slice) ( var blob = _file.slice (_offset, _chunkSize + _offset); ) სხვა თუ (_ .webkitSlice) ( var blob = _file.webkitSlice(_offset, _chunkSize + _offset) if (_file.mozSlice) (var blob = _file.mozSlice(_offset, _chunkSize + _offset); ) r.onload readAsArrayBuffer(blob reading) //; პირველიდაბლოკოს chunkReaderBlock (offset, chunkSize, file); )

თუ გახსოვთ, რომ გამოწერის ფრაგმენტები ლოკალურად არის შედგენილი, მაშინ არჩეული გოფრირებული ფაილის და ხელმოწერის სერვერზე გადასატანად, საჭიროა იგივე ლოგიკის დანერგვა ვებ გვერდზე.