Verilerin başlatılmasının programlanmasında, yöneticiler için önemlidir, verilere dayalı parçalar program için önceden ayarlanır - nitelikler, bu verilerin gerekli dosyaları ve ardından veri tabanı.

WordPress'in sabit bir başlatma prosedürü vardır. Tarafın yaşam döngüsünü uygularken, WordPress platformu, çoğu daha önce tarafımızdan açıklanan kişisel olmayan eylemler başlatır. Sistem, programın temel işlevselliği tamamlanmadan önce başlatılması için seçilen bir dizi başlatma kancasına sahiptir.

Takımın tasarımcıları ve tasarımcıları için, bazı programlar oluşturmak için, muzaffer ilk kancaların en çok affedilmesinin yanı sıra, kancaların kendilerinin nasıl olduğunu anlamak önemlidir.

Bu makale, WordPress'teki başlatma kancalarının önemini ve bunların farklı durumlarda nasıl kazanılacağını gösteriyor.

Başlatma kancalarına giriş

WordPress, eklentilerde ve temalarda öne çıkarılabilecek çok çeşitli kancalar sunar.

Tipik talep anında, partinin tüm kancaları sıralıdır. Temel WordPress programı görevini tamamladıktan sonra tüm kancalar ateşlenir.

Bu şekilde, başlatma kancaları, tahmin edebileceğiniz gibi, eklentilerde ve temalarda çalışma sürecini başlatmak için kullanılır. Önem sırasına göre mevcut WordPress başlatma kancalarına bir göz atalım:

  • Init, WordPress teklifini tamamladıktan sonra ve bundan önce başlıklar aktarılırken çalıştırılır. Bu kanca, çalışma sürecini başlatmak için eklentiler tarafından oynanır.
  • widgets_init, widget'ları kenar çubuğuna kaydetmek için saldırıya uğradı. register_widget işlevi bu kancayı sarar.
  • WordPress yönetici paneline erişimi kaldırdıktan sonra admin_init ilk kez devre dışı bırakılacak. Genel olarak şaraplar, yöneticinin alanına özgü parametreleri başlatmak için puanlanır.

Üç kanca vardır, WordPress ayrıca yönetici çubuğunun başlatılmasından sonra gerçekleşen admin_bar_init adlı bir kancaya daha sahiptir. WordPress Kodeksinde bu kancanın açıklaması yoktur, ancak yalnızca az sayıda eklenti kazanır.

WordPress'teki en son düzenleme sürecini kodekste görebilirsiniz.

WordPress, cilt kancasını her zaman şarkı sırasına göre sarar (kodeksteki açıklamalar gibi). Cilt kancasında bölmelerin görünme sırasına bir göz atmak da önemlidir. Farkı anlamak için bu duruma bir göz atalım.

admin_init, başlatma kancasının ortasına ayarlanır

İhtiyacımız oldukça, diğer kancaların arasına WordPress kancalarını dahil edebiliriz. Tipik bir istek için, init kancası admin_init kancasından önce gelir. Admin_init'i init kancasının ortasına yerleştirerek onu görüntülemeye çalışalım:

Add_action("init", "test_init"); function test_init()( add_action("admin_init", "test_admin_init"); ) function test_admin_init() ( echo "Admin Init Inside Init"; )

Bu kodu yazdıktan sonra echo operatörünün yardımı için daha fazla string eklememiz gerekiyor.

init'i admin_init kancasının ortasında görebiliriz

Koda bakalım ve betiği görelim, kancada daha fazla erken atama kancası varsa, sırayla daha sonradır.

Add_action("admin_init", "test_admin_init"); işlev test_admin_init() ( add_action("init", "test_init"); ) işlev test_init() ( echo "Init Inside Admin Init"; )

Bu durumda, herhangi bir vysnovka'yı kaldırmıyoruz - temizlendiği gibi - init kancasının parçaları admin_init'ten önce vykonuetsya'dır, ancak admin_init'in belirtilmesi kabul edilemez.

Yapabiliyorsanız, başarılı eklentiler oluşturmak için takma prosedürünü anlamak önemlidir. Aboneliklerin görünme sırası, tüm WordPress kancaları için önemlidir.

init ve admin_init kancalarını izleyin

İlk kancaların ortasında, init ve admin_init'te kendinize saygı duymanız önemlidir ve zengin eklentilerde daha çok iki kanca kullanılır. Başlatma kancalarına karar vermek diğer iki kancaya göre daha kolaydır.

Ayrıca init ve admin_init kancalarının işlevselliğine de hayret ediyoruz.

Başlatma kancası, hem ön uç hem de arka uç WordPress siteleri için dış görünümde kullanılabilir.

admin_init kancası, yönetici bölümü yakalama işlemini tamamladıktan sonra kazanılır. Bu sırayla, bu kanca, yönetici tarafındaki tüm istekler için sayılır. Koristuvachі, vikoristovuvat'ın ilgi alanlarına göre Danimarka kancasına kayıtlı olması gerekir.

Cilt yutulması durumunda hakaret ve kanca parçaları kullanılır, bu kancaların uygulanmasına dayanan işlevsellik üzerinde düşünmekten suçluyuz, parçalar sitenin üretkenliğine dokunaklı bir şekilde eklenebilir.

Yak vicoristowati başlangıç ​​kancaları

Çoğu zaman, başlatma kancaları mevcut WordPress eklentilerinin çoğu tarafından kullanılır ve daha da önemlisi, bunları tamamlama süreci önemlidir.

WordPress, kendileri suçlu olan ancak suçlu olmayanları göstermez; Bunun için perakendeciler, sanki kendi evleri, binaları ile verimlilikte büyük bir düşüşe yol açıyorlarmış gibi önemsiz aflar karşılayabilirler. Bu bölümde, size init ve admin_init kancalarını etkili bir şekilde nasıl ayarlayacağınızı göstereceğiz.

İlk kancaları seçmenin en yaygın uygulamalarına bir göz atalım:

Kanca başlatma

  • Güzel Gönderi Türlerini Kaydetme – WordPress satıcıları, yeni özel gönderi türlerini kaydetmek için init kancasını kullanmanızı önerir.
  • Eklentinin konfigürasyonunun ve ayarının başlatılması - eklentinin ayar ve konfigürasyon parametreleri cilt bakımı için gereklidir ve ayrıca bunları kancanın ortasına koymak iyi bir uygulamadır.
  • Koristuvach'a veri gönderme erişimi ($_GET ve $_POST aracılığıyla) - veri aktarımını yazmadan değiştirebiliriz, her durumda init kancasını kullanmanız önerilir, shards of vin cilt beslenmesi için viskozluğu garanti eder.
  • Yeniden yazma için yeni kurallar ekleme - init kancasını kullanarak yeniden yazma için yeni kurallar belirleyebiliriz, ancak koku bıraktıktan sonra daha pratiktir.
  • Ek veri ekleme veya ekleme - işlevselliği genişletmek için birçok ek veri eklemek için eklentiler. Yeni şeyler eklersek veya eskileri çıkarırsak durumu suçlayabilirler. Bu tür vipadkalarda, init kancasına tsі dії koymak önemlidir.
  • Eklentinin metin alanını yakalama - WordPress sayısal hareketleri destekler ve bu şekilde satırların kaymasını telafi etmek için dosyayı büyüleyebiliriz. Tse, hook init tarafından soyulabilir.

admin_init'i kancalayın

  • Erişim kontrolü - ilk özellik ve işlevsellik grubuna çekirdek erişimine izin vermek için sisteme ondan önce giden çekirdeklerin erişim haklarını yeniden gözden geçirmek önemlidir. admin_init - ilk adım, yönetici alanında olacağı için erişim kontrolü için hackleyebiliriz.
  • Yeni Parametreler Ekleme - Ana WordPress parametre alanına yeni ayarlar veya parametreler eklemek için bir kancayı değiştirebiliriz.

Bu kancaları ayarlamak için birçok başka olası seçenek vardır, ancak bu özelliklerin kendi kancaları vardır, bu nedenle muzaffer kancaları başlatmak gerekli değildir.

Zagalni, vikoristannya hukіv іnіtsіalіlіzatsії'ı affetti

Çoğu zaman, perakendecilerin başlatma kancalarının seçimini yanlış anladıkları durumlara bağlı kalırız. Kancaların yanlış atanması ciddi üretkenlik sorunlarına yol açabilir.

Afın bazı kısımlarını ve onu atlamanın yollarını belirtelim:

  • Yeniden yazma kurallarının güncellenmesi, sürecinde tüm yeniden yazma kurallarının güncellendiği ve yeni kurallar eklemek veya eski kuralları silmek için yeniden sıralandığı bir kaynak işlemidir. Pek çok perakendeci init-diy'nin ortasında üzerine yazma kurallarını günceller. Bu, derinin üretkenliği için suçlamanın gerekli olmadığı noktaya kadar yapılmalıdır. Ek düğmelerin üzerine yazma kurallarını manuel olarak güncelleme yönteminden veya örneğin eklenti seçeneklerini kaydetme gibi nadir eylemler için kuralları güncelleme yönteminden sorumluyuz.
  • Veri tabanına erişim - çeşitli işlevlerin uygulanması için, veri tabanına erişim suçlamaktır, ancak veri tabanına uygun olmayan erişimi korumak da önemlidir, ilk kancaların ortasında, kokuşmuş parçalar kaldırılır. deri. İdeal çözümlere ulaşmak için, veri tabanının kancalarını aynı işlevselliğe sahip kancalara bağlarsınız, üretkenliğin zor işlerinden kaçınırsınız.
  • Yükseltme prosedürlerinin iyileştirilmesi - eklentiler, yeni sürümlerde yeteneklerini yükseltmek için yükseltme prosedürlerinin etkinleştirilmesinden sorumludur. Yükseltme işlemine başlamadan önce eklenti sürümünü ve ana parametreleri yeniden kontrol etmek için kancaları başlatmak üzere vicorist distribütörlerini arayın. Kişileri, cilt yıkandığında otomatik olarak değiştirilecek olan ekran yerine, eklentiyi temiz bir ekranda güncellemeye teşvik edebiliriz.
  • Çok sayıda perakendeci tarafından göründüğü gibi, şarkı söyleme işlevselliği için kancaların başlatılması için kanca seçimi en geniş kapsamlı aftır. WordPress, benzersiz işlevselliğine bağlı çok çeşitli kancalara sahiptir. Çatışmaların üstesinden gelmek ve genişletilmekte olan kodu genişletmek için işlevsel kancalarda ince ayar yapmak da önemlidir. İnit ve admin_init gibi kancalar belirli kancaları yenebilir, bu yüzden onlara bakan birçok bilgisayar korsanı var, ne kadar yıkıcı bir etkiye sahip olduğunuza şaşmamalı.

Önerilen kancaları değiştirmek için perakendeciler tarafından init ve admin_init kancalarına genişletilmiş betikler uygulayın:

  • admin_menu - add_menu_page ek işlevi için bir yan menü ekleyebiliriz. Yönetici menüsünün yanında kenar çubukları oluşturmak için yönetici_menü kancasını seçmeniz önerilir. Ancak, admin_init kancasını kazanmak için pek çok hile ve admin_menu kancasından sonra kazanmak için daha fazla şarap listesi var.
  • wp_enqueue_scripts – wp_enqueue_scripts kancasıyla eşleşen komut dosyalarına stillerin nasıl ekleneceğine ilişkin öneriler. Ancak, betikleri ve stilleri kuyruğa almak için init kancasını kullanan birçok wp_enqueue_script yazarı vardır.

Vicorist yetiştiricilerin şarkı söyleme işlevi için özel bir kanca yerine bir vahşi kanca init kullanması ve hareket etme yeteneği nedeniyle böyle bir yaklaşımın gerekli olması durumunda pek çok benzer durum vardır.

Visnovok

WordPress başlatma kancaları, eklenti geliştirme ve tema geliştirmede hayati bir rol oynar. Pek çok perakendeci, üretkenlik avantajı yaratmak için yanlış bir şekilde kanca kullanır. Bu makalelerde, bu hilelerin doğru seçiminin yanı sıra zastosuvannya'larının bariz aflarını ve onları atlamanın yolunu tartıştık.

Artık eklentilerde görünen kancalara aynı yöntemleri ekleyebiliriz. Pek çok eklenti zafer genişleticisi vardır ve eklentileri genişletmek için güç kancaları geliştirilmiştir. Bu tür eklentiler için, eklentiye özgü başlatma kancaları atayabiliriz, böylece perakendecilerin başlatma görevini yakınlaştırma kancalarına "asmasına" izin verilir.

Herkese merhaba! Elbette, pek çok koristuvachiv, çevrimiçi ses, video oynatırken veya bir flash animasyonu (oyun, afiş, program, vb.) .). İlk tarafta Wee'yi yedilerse, naimovirnishche Wee bir af aldı. Bugün, bu küçük talimatta, sizden bir affımız var " Eklenti alınamadı» tarayıcı hızlı ve kolaydır.

Arkadaşlar öncelikle tarayıcının ne tür bir eklentisi olduğunu bulalım. Eklenti - ce tobto dopovnennya, İnternet tarayıcısının yeteneklerini genişletmek gibi. Günümüz için eklentiler çok sayıda ve farklı bir düzleştirmenin tüm pis kokusu. Tarayıcıda web kaynaklarını doğru bir şekilde görüntülemek için kurulu temel eklentilerin olup olmadığı. Tarayıcı, eklentiyi almayanlar hakkında ortaya çıkar çıkmaz, Flash Player'ın sorun yaşama olasılığı daha yüksekti. Aşağıda, bir affı nasıl düzeltebileceğinizi sizinle birlikte bir dizi yola bakabiliriz.

1. yol Yükseltilebilir internet tarayıcısı

Danimarka usulü en basit olanıdır ve çoğu durumda yardımcı olur. Tüm bu manipülasyonları popüler Google Chrome tarayıcısının kıçında göstereceğim. Başka bir tarayıcı kullanıyorsanız övünmeyin, her şey benzer. Öyleyse, tarayıcıyı güncellemek için - Dovіdka - Tarayıcı hakkında menüsüne gidelim.


“Program hakkında” tarafında “Güncelle” butonuna tıklayabilirsiniz.


Güncellemenin ardından "Eklentiyi alacak kadar uzağa gidemedim" affının tekrar duyurulduğu doğrulandı. Sorunun çözülmesine yardımcı olmamalarına rağmen saldırgan yönteme gittiler.

2. yol. Tarayıcı geçmişini temizle

Tsej, bu durumda podpomozhe'yi sposіb, eğer böyle bir af, deyaky kaynaklarda daha az ise. Her şeyi yapmak kolaydır - tarayıcıdaki önbelleği ve çerezleri temizlemeniz gerekir.

Önbellek - incelenen kaynakların (resimler, kenar çubukları, video dosyaları, tasarım vb.) tüm web bileşenlerini kaydeden tarayıcı zaman dosyaları. Zavdyaki Önbellek tarayıcısı, daha önce düşünülen sitelerin kenarlarını hızlı bir şekilde yakalar, bu nedenle kaynağın bileşenlerinin yakalanması İnternet üzerinden değil, bilgisayarın yerel diskinden yapılır.

Çerezler aynı zamanda koristuvach'ın kişisel verilerinin (oturum açma bilgileri, şifreler, site kurulumu ve girişler) saklandığı zaman dosyalarıdır. Diğer tarafa geçtiğinizde, tüm veriler tarayıcı tarafından sunucuya verilir ve böylece yetkilendirme için kullanıcı adı ve şifreyi unutmadan herhangi bir kaynağa gidebiliriz.

Öyleyse, tarayıcınızdan Önbelleği ve Çerezleri temizleyelim, böylece bir af almaya çalışabilirsiniz. Menüye gidin, "Geçmiş" i seçin.


"Geçmişi temizle" düğmesine tıkladıktan ve aşağıdaki ekran görüntüsünde gösterildiği gibi onay kutularının işaretlenip işaretlenmediğini saygıyla merak ettikten sonra.


Eğer öyleyse, tarayıcı bunalmış durumda.

3. yol. İndirme eklentilerini etkinleştir

İlk iki yöntem yardımcı olmadıysa da, yerel eklentiyi dahil etmeye devam ediyoruz. Yüklü eklentilerin tarafına bakıyoruz. Dış görünüm tarayıcısı için adresler farklıdır:

Chrome'u etiketlemek için adres çubuğuna chrome://plugins yazın
Yandex'i kazanmak istiyorsanız adres çubuğuna browser://plugins yazın.
Opera yazıyorsanız, adres çubuğuna opera://plugins yazın
Firefox'u etiketlemek için adres çubuğuna about:plugins yazın


Eklentileri olan bir parti görürseniz, Flash Player eklentisini kullanıp kullanmadığınızı merak etmeniz önemlidir. Durum buysa, açmanızı öneririm (PPAPI tipini arayın).


Giriş yaptıktan sonra tarayıcıyı yeniden yükleyin ve tekrar kontrol edin.

4. yol Adobe Flash Player'ı yeniden yükleyin

Yukarıdaki açıklamalardan birden fazlası yardımcı olmadıysa, lütfen Adobe Flash Player'ı yeniden yükleyin. Bu nedenle, Denetim Masası - Programlar ve Bileşenler'de flash player'ın eski sürümünü silin. Ardından, Adobe Flash Player'ın kalan sürümünü resmi web sitesinden indirin.


Üzgünüm, affın düzeltilmesiyle ilgili küçük talimatım. Eklenti alınamadı" Sana yardım etmiş. Bu sorunu başka bir şekilde çözdüyseniz, yorumlara yazabilirsiniz, zengin koristuvachlara yardımcı olursunuz! Saygı ve en iyisi için Dyakuyu!

CryptoPro CSP eklentisini Mozilla Firefox'a yükleme kuralları, tarayıcı sürümüne (52 ve üstü veya daha eski) bağlı olarak değişir.

52'nin altındaki Mozilla Firefox sürümü

Mozilla Firefox ile belgeler nasıl imzalanır:

  • Otomatik güncellemeleri kapat. Kimin için "Menü" ⇒ "Haberler" ⇒ "Ek" ⇒ "Güncelleme" (Küçük 1) seçeneğine gidin.
Mal. 1. Mozilla Firefox için güncellenmiş güncelleme
  • Resmi Mozilla Firefox web sitesinden 51.0.1 sürümünü yükleyin.

CryptoPro Tarayıcı eklentisini yüklemek için aşağıdakilere sahip olmanız gerekir:

  1. Kurulum programını "Crypto-Pro" şirketinin resmi web sitesinden www.cryptopro.ru/products/cades/plugin indirin ve indirme dosyasını çalıştırın.

2. CryptoPro Tarayıcı eklentisinin kurulumunun sonunda "Yani" (Küçük 2-a) düğmesine basın.

Mal. 2-a. CryptoPro Tarayıcı eklentisini yükleme

3. Kurulumun tamamlandığını kontrol edin (Mal. 2-b).

Mal. 2b. CryptoPro Tarayıcı eklentisini yükleme

4. OK düğmesine basın ve web tarayıcıyı (Small 2) yeniden başlatın.

Mal. 2 inç CryptoPro Tarayıcı eklentisini yükleme

önemli

CryptoPro'nun kurulumundan sonraTarayıcı fiş- içindeTarayıcılar için elektronik imzalı CryptoPro ECP Browser eklentisi ile çalışması için tarayıcı eklentisinde nelerin kurulu olduğunu doğrulamak gerekmektedir.

5. Tarayıcıyı açın, "Tarayıcı menüsü" düğmesine basın, "Eklentiler" bölümünü seçin (Küçük 3).

Mal. 3. Tarayıcı menüsü

6. "Eklentiler" sekmesine gidin. CryptoPro CAdES NPAPI Tarayıcı Eklentisi eklentisinin aksine, beliren menüde "Başlat Etkinleştir" seçeneğini seçin (Çizim 4).


Mal. 4. Eklenti yönetimi

7. Tarayıcıyı yeniden başlatın.

Mozilla Firefox sürüm 52 ve üzeri

CryptoPro Tarayıcı eklentisini yüklemek için burayı tıklayın:

  1. www.cryptopro.ru/products/cades/plugin adresine gidin, ardından "tarayıcı uzantısını" açın (Sk. 5).


Mal. 5. CryptoPro web sitesi

2. "İzin" damgası (Mal. 6).


Mal. 6. İsteğe izin verildi

3. "Ekle"ye basın (Mal. 7).

Bazı sitelerde annenin hakkı sertifikalar ve elektronik anahtarlarla getiriliyor; Bu yazıda, ilgi alanları varsa, ancak nesneler çalışmıyorsa, CAdES eklentisinin robotları için bir af vardır.

Eklenti sorununa çözüm

Yak i vyplivaє zі zmіstu af, kendi başına zavantazheny, tobto gibi CAdES eklentisi. Vіn y sistemі, prote schos zavazhє yoga robotі. Sorun, Firefox'un 51 sürümüne kadar olan eski sürümlerinden kaynaklanıyor gibi görünüyor (daha yeni eklenti çalışmıyor). Bu makalede, bir elektronik ticaret maydanchik popo olarak alınır ve sorunu çözmenin üç yolu vardır.

Yöntem 1: Akış sitesi için eklentiyi etkinleştir

Tarayıcı özel amaçlar için ve diğer taraflar için seçilmişse, yalnızca akış sitesi için bir eklentinin dahil edilmesi gerçekten güvenli değildir. Ayrıca elektronik anahtarların görevini birden fazla vikon yapmak da gereklidir.

Yöntem 2: Eklentiyi tüm siteler için etkinleştirin

Turbonun güvenliği için güç kaynağı nasıl? bilgisayar sadece çıkartma sitelerinde çalışmak için kazanır, tüm siteler için CAdES eklentisini açabilirsiniz. Todi vіn pracyuvatime vіdrazu poslja zavantazhennya storіnki. Eklentiyi etkinleştirmek için koyu gri kareyi bilmek imkansızsa bu adama yardım edebilirsiniz.

3. Seçenek: Başka Bir Tarayıcı Bağlantısı

Bazı öngörülemeyen nedenlerle CAdES eklentisi hala çalışabilir. Af almanın bir yolu daha var - farklı bir tarayıcı kazanmak. Çoğu tarayıcı Chromium motoru üzerine kuruludur, kokular benzerdir, Google Chrome uygulamalarına bakabiliriz.


Visnovok

Gördüğünüz gibi eklentinin hatalı çalışması sorununu çözmenin bazı yolları var. Bu durum karşısında kendinize en uygun olanı seçebilirsiniz.

Yayınlanan 02/03/2016 içinde

Zagalni vіdomostі

Eklentinin program arayüzü, vaat edilen nesnelerin iyileştirilmesiyle gerçekleştirilen eşzamansız işlemlerin çağrısını iletir. Eklenti spesifikasyonunun uygulanmasında vikoristana hakkındaki raporu okuyabilirsiniz. Sözler iki tür sarmalayıcı gerektirir:

  • Yerine Getirildi- sözün “başarılı bir şekilde kazanılıp kazanılamayacağını” sorun;
  • onReddedildi- Sözün “af ile tamamlanıp tamamlanmayacağını” sorun.
Mayıs ayında bir söz eklemek için evrensel yöntem şöyle görünür: söz.then(onFulfilled, onRejected)

Eklenti başlatma

Eklentiyle çalışmak için plugin.initPKCS11 bileşeninin PKCS#11 başlatma işlevini çağırmak gerekir. Bu işlev, parametre olarak modül adlarındaki (dizi gibi) bir değişikliği kabul eder. Aktarılan modüllerin listesine göz atabilirsiniz. Modüller belirtilmezse, eklenti tüm modüllerin başlatılmasını sağlar.
Gerekirse, kripto sağlayıcılarının capi modülüyle çalışırken nasıl hacklemeleri gerektiğini belirtin, ardından bir sonraki giriş formatını hackleyin:

Capi:(prov1),(mode):(prov2),(mode)

Hangi giriş var:

  • prov1, prov2 - kripto sağlayıcısının adı. Bu saatte şu anlamlar kullanılmaktadır:
    • Crypto-Pro GOST R 34.10-2001 Şifreleme Hizmeti Sağlayıcısı;
    • Crypto-Pro GOST R 34.10-2012 Kriptografik Hizmet Sağlayıcı;
    • Crypto-Pro GOST R 34.10-2012 Güçlü Kriptografik Hizmet Sağlayıcı;
    • Signal-COM CPGOST Şifreleme Sağlayıcısı;
    • Signal-COM GOST R 34.10-2012 (256) Şifreleme Sağlayıcı;
    • Signal-COM GOST R 34.10-2012 (512) Şifreleme Sağlayıcı;
    • Infotecs Şifreleme Hizmet Sağlayıcısı.
  • modu – PIN kodunu girerken görüntüleme modu. Bu anlamı alabilirsin:
  • 0 - bir kripto sağlayıcı tarafından kilitleme, aktarma modu;
  • 1 – kripto sağlayıcısının yerel görünümünün gösterimi.
    Not: Linux'ta Crypto-Pro ile çalışma saatleri, kripto sağlayıcının yerel sürümü mevcut değildir.
  • 2 – eklenti arabiriminde pencerenin görüntülenmesi.
    Not: Signal-COM saati eklenti arayüzünde mevcut değildir.

Anahtarları Windows sistem klasöründen kaldırmak için lütfen sağlayıcıyı belirtin ve yak modu My'dir.
Tüm modüllerin başlatılması popo:

Plugin.initPKCS11(["ISBC ESMART", "Aladdin R.D. Unified JaCarta", "Rutoken", "SafeNet", "capi:Crypto-Pro GOST R 34.10-2001 Şifreleme Hizmeti Sağlayıcısı,0:Crypto-Pro GOST R 3421 Şifreleme Hizmeti Sağlayıcı,0:Crypto-Pro GOST R 34.10-2012 Güçlü Şifreleme Hizmeti Sağlayıcı,0:Signal-COM CPGOST Şifreleme Sağlayıcı,0:Signal-COM GOST R 34.10-2012 (256) Şifreleme Sağlayıcı,0 R 34.10-2012 (512) Şifreleme Sağlayıcısı,0:Infotecs Şifreleme Hizmeti Sağlayıcısı,0: ,Benim"])

Anahtarları Windows sistem klasöründen kaldırmak için bir modül başlatma örneği:

Plugin.initPKCS11(["kapi: ,Benim"])

Başarılı başlatmanın ardından işlev, nesneyi döndürür (burada ve ileride - ek söz verme mekanizması için), modüllerin işlevi ve getCertsForSign.

Olacağım modüllerin transferini tekrar gözden geçirmek

Modüllerin ve onların yer değiştirmesini gözden geçirmek için, modüller işlevini çağırmam gerekecek.
Örnek istek:

Pkcs11.modules.then(onFulfilled, onRejected);

Spesifik fonksiyonlara bir örnek (okuma netliği için detay verilmiştir):

[ ("enable": true, "name": "Aladdin R.D. Unified JaCarta" ), ("enable": true, "name": "Rutoken ECP" ), ("enable": false, "error": "100) :p11 modülü yüklenemedi", "ad": "ISBC ESMART" ] ]

Sertifika listesinin gözden geçirilmesi

Algılanan sertifikaların listesini incelemek için getCertsForSign işlevine tıklamanız gerekir. İşlev çağrısının bir parametresi olarak, PKCS#11 modüllerinin paralel başlatma modunu kazanma sayısını belirtmek gerekir:

  • doğru– Modüllere paralel erişim (öneri modu);
  • YANLIŞ- Modüllere son adım.
Bir dizideki (JavaScript Dizisi) sertifikaların çevirisi, böyle bir sertifika nesnesinin öğeleri. sertifika nesnesinde full_info, cms_sign_on_it ve start_signing işlevleri kullanılabilir.

Belirli bir sertifikayla ilgili verilerin gözden geçirilmesi

Belirli bir sertifikayla ilgili verileri incelemek için, sertifikayla ilgili bilgileri bir json nesnesine dönüştüren full_info yetkilisini çağırmak gerekir. Він aşağıdaki parametreleri içerir:

  • sn– sertifikanın seri numarası;
  • ders– elektronik imza sertifikası verilen kişi hakkında veriler. json format parametresini açar: değer, de parametre - belirli bir nesne tanımlayıcısının (OID) adı. Tüm standart nesne tanımlayıcıları genel olarak kabul edilebilir, örneğin CN (Common Name).
  • ihraççı– elektronik imza anahtarı sertifikasının görünümü hakkındaki veriler. json format parametresini açar: değer, de parametre - belirli bir nesne tanımlayıcısının (OID) adı. Tüm standart nesne tanımlayıcılarına dünya çapında kabul edilen bir ad verilir;
  • önce değil– sertifika koçanındaki saat (veri türü ASN1_TIME biçimindedir);
  • sonra değil– sertifika sona erme saati (veri türü ASN1_TIME biçimindedir);
  • key_usage– dizinin önünde döndürülen anahtarın tanınması hakkında bilgi.
ASN1_TIME biçimindeki sertifikanın başlangıç ​​/ bitiş saati, ek Yeni Tarih (ASN1_TIME) işlevi kullanılarak standart biçime çevrilebilir.

Elektronik imza anahtarına ilişkin verilerin revizyonu

Sertifikanın elektronik imzasının özel anahtarı hakkındaki verileri incelemek için token_info yöntemini çağırmak gerekir. Yöntem, json nesnesini bu tür verilerden dönüştürür:

  • etiket– elektronik imza için anahtar taşıyıcı adına;
  • üretici kimliği– elektronik imza amacıyla virobnik tanımlayıcısı;
  • modeli– elektronik imza için model;
  • seri numarası- Elektronik imza için seri numarası.
Capi modülü aracılığıyla çalışan anahtarlar için dönen veriler farklı görünebilir. Model özniteliği her zaman "capi" değerine, serialNumber özniteliği günün değerine, üretici kimliği kripto sağlayıcının adına ve etiket kapsayıcının adına sahip olmalıdır.

Seçilen sertifikanın yardımı için imzalama işlemi

Basit imzalama modu

Seçilen sertifikanın yardımı için bir satır imzalamak için, aşağıdaki giriş parametrelerini kabul etmek için cms_sign_on_it işlevini çağırmak gerekir:

  • imza sırası;
  • imza türü — chi є imza alındı ​​(doğru değeri iletmek gerekir) chi tanınır (yanlış).
Bir onay olarak işlev, imzanın bulunduğu satırı CAdES-BES / PKCS#7 ekli/ayrılmış biçimde döndürür.
Sertifika nesnesinde çağrılabilmesi için bir işleve çağrı uygulama: cms_sign_on_it("1234", 3, true).then(function(cms)(console.log(cms)));

İmza modu uzantıları

Genişletme modu şunları sağlar:

  • büyük zorunlu haraç imzalayın, örneğin dosyalar;
  • PIN kodunu yeniden kaydetmeden dosyaların bir kopyasını imzalayın.

Seçilen ek bir sertifikanın verilerini imzalamak için, önce sertifika nesnesindeki yardımcı start_signing işlevi için imzalayan nesnesini başlatmanız gerekir. İşlev parametreleri:

  • imza türü — alınan chi є imza (gerçek değeri iletmek gerekir) chi girildi (yanlış);
  • pin kodu için girilen örnek sayısı (örneğin, "1" değeri, koristuvach'ın yalnızca bir örneğe sahip olabileceği anlamına gelir, ardından işlev bir af döndürür).

Yöntemler, imzalayan nesnesinde mevcut olacaktır:

  • add_data_in_hex(hexDataString) - onaltılık bir satırdan giriş verilerini kabul eder;
  • add_data_in_base64(base64DataString) - görünen base64 satırlarından girdi için verileri kabul eder;
  • add_data_in_string(stringData) - bir utf-8 satırından girdi verilerini kabul eder;
  • free() - sertifikanın imzalanmaya hazır olup olmadığını kontrol etmenizi sağlayan doğru/yanlış değerleri döndürür. İmza yinelemesinin bir kopyası farklı sertifikalarda belirtilmişse, vipadku için kazanmak gerekir. Başka bir deyişle, bir dizi sertifikada son imzayı imzalamak için, imzalamadan önce yöntemi çağırmak ve mutabakat yapmak gerekir, bu da true olur;
  • finish() - imzayı sonlandırır ve CAdES-BES/PKCS#7 biçiminde döndürür.
Bir onay olarak işlev, imzanın bulunduğu satırı CAdES-BES / PKCS#7 ekli/ayrılmış biçimde döndürür.

Satır imzalama

Bir satırı imzalamanıza izin veren komutun poposu:

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

Bu takımın "1234" imzalanması gereken bir sırası var.

Birkaç imza yükleme

İmzalama tamamlandıktan sonra, imzalayan nesne çıkış istasyonunda döndürülür. Bir yoga seansı çerçevesinde, örneğin yeni bir dosya gibi diğer verileri imzalamak için tekrar tweet atabilirsiniz. Bu durumda pin kodu tekrar istenmeyecektir.

Başka bir sertifikada oturum açmak için imzalayan nesnesini temizlemeniz gerekir. Çoğu tarayıcıda, pencere kapsam tarafından geçersiz kılınırsa bu nesne otomatik olarak temizlenir. Ancak, Internet Explorer'da, imzalayan temizlenmezse, af ile sonuçlanacak durumlar olabilir. Benzersiz bir şekilde bağışlamak için signer.free() öğesinin temizlenmesi önerilir. Bu işlem, kodu birleştirmek için tüm tarayıcılarda gerçekleştirilebilir. İmzalayan nesnesi temizlenmiş bir sertifikadaki imza örneği:

function sign(cert, info) ( function SuccessCms(signature) ( 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(); dönüş verisi; ), e) .then(successCms, e); ), e);

Büyük Borç Dosyasının İmzalanması

readFileByChunk(dosya, cbToRead, cbToFinish) işlevi ( var fileSize = file.size; var chunkSize = 1024 * 1024; // bytes var offset = 0; var chunkReaderBlock = boş; var self = bu; var var if (evt.target. error == null) ( cbToRead(evt.target.result, offset, fileSize); offset += evt.target.result.byteLength; ) else ( console.error("Okuma hatası: " + evt .target.error); showError("Dosya okunamadı: " + evt.target.error); return; ) if (offset >= fileSize) , file); ) chunkReaderBlock = function(_offset, _chunkSize, _file) ( var r = new FileReader(); if (_file.slice) ( var blob = _file.slice(_offset, _chunkSize + _offset); ) else if (_ .webkitSlice) ( var blob = _file.webkitSlice(_offset, _chunkSize + _offset); ) else if (_file.mozSlice) ( var blob = _file.mozSlice(_offset, _chunkSize + _offset); ) r.onload readAsArrayBuffer(blob); ) // start ilk bloğun okunması chunkReaderBlock(offset, chunkSize, file); )

İmzanın yerel olarak imzalanıp imzalanmadığını kontrol ederseniz, seçilen dosyanın ve imzanın sunucuya daha fazla aktarılması için web tarafında imza mantığını uygulamanız gerekir.