Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə Kriptoqrafikdən istifadənin vaxtı gəldi PKCS#1 mexanizmləri1 və Android platformasında. Bəziləri deyə bilər ki, Android üçün hardware tokenləri yoxdur. Ancaq bu belədirsə, bu, yalnız müvəqqəti bir fenomendir. Amma bu gün bir proqram tokeni qoya və ya istifadə edə bilərsiniz bulud nişanı. Kommunal olduğundan kriptoarmpkcs-A Tcl/Tk skript dilində Androwish istifadə edərək Android platforması üçün hazırlanmışdır, sonra paket tokenləri birləşdirmək üçün istifadə olunur. TclPKCS11 versiyası 1.0.1.

Bu halda, paketin işlənməsi tələb olunmur. Yalnız dildə yazılmış paket kitabxanasını qurmaq üçün layihəyə skript əlavə etmək edildi Si, Android və kitabxananın paylanmasının özü üçün. Eyni layihəyə müxtəlif platformalar üçün ls11sw2016 proqram təminatının və bulud ls11cloud tokenlərinin kitabxanalarının əlavə edilməsi qərara alınıb.

Qalan hər şey sadədir. İkinci pəncərəyə işləyən bir işarə seçmək üçün düymələr əlavə edirik və əldə edirik:

  • proqram nişanı ls11sw2016;
  • bulud nişanı ls11cloud;
  • başqa PKCS11#11 nişanı.

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

Varsayılan olaraq, proqram nişanı bağlıdır. Əgər o, əvvəllər yaradılmayıbsa, sizdən onu işə salmaq təklif olunacaq. Bunu xatırladaq tokenin işə salınması etiket təyin etmək və istifadəçi PIN kodunu təyin etməkdən ibarətdir:

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

Qeyd edək ki, proqram tokeni PKCS#11 v.2.40 və TK-26 tövsiyələrinə uyğun olaraq hazırlanıb. Dəstəklənən kriptoqrafik mexanizmlər də daxil olmaqla, token haqqında tam məlumat əldə etmək üçün əsas menyuda (“Funksional”) “Token və onun kriptoqrafiyası haqqında” düyməsini sıxmağınız kifayətdir. Bu gün rus kriptoqrafiyasını dəstəkləyən heç bir hardware tokeni belə funksiyaya malik deyil:

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

Sual yaranır: - tokenə şəxsi sertifikatı necə quraşdırmaq olar. İki variant var. Birinci seçim sertifikatın özünü və onun açar cütünü PKCS#12 konteyneri vasitəsilə idxal etməkdir (“PKCS12/PFX ilə işlə” düyməsi):

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

İkinci seçim sertifikat üçün sorğunun (PKCS#10) yaradılmasını nəzərdə tutur.Bu seçim (funksiya "Sertifikat tələbi") birbaşa tokendə açar cütünün yaradılmasını təmin edir:

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

İndi sorğunu flash sürücülərə saxlaya və gedə bilərsiniz sertifikatlaşdırma mərkəzi sertifikat üçün. Sertifikatdan test məqsədləri üçün və ya daxili olaraq istifadə edəcəksinizsə, sertifikat vermək üçün yardım proqramından da istifadə edə bilərsiniz CAFL63. Nəticə sertifikat "Sorğu/Sertifikat" sekmesinde tokenə idxal olunur:

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

İndi nişanı istifadə edərək, tokendə saxlanılan sertifikatlarla sənədləri imzalaya bilərsiniz "Sənədi imzala".

Növbəti məqalədə bulud tokeninə necə qoşulacağınızı sizə xəbər verəcəyik. Sertifikat yaratma funksiyalarının mobil platformaya ötürülməsi məsələsi açıq qalır. Bu lazımdırmı?

Android platforması üçün cryptoarmpkcs-A yardım proqramının yenilənmiş versiyasını buradan yükləmək olar:

P.S. Jurnalın saxlanması

Paketi qurmaq üçün sümüklərdən istifadə edin AndroWish SDK. Paket uğurla qurulduqdan sonra "Quraşdır və işə salın" düyməsi görünür və kliklədikdə adb logcat (Android Debug Bridge logger) çıxışını göstərən jurnal pəncərəsi açılır. Bu ekranın mənfi tərəfi odur ki, səhv mesajını tapmaq çətindir, xüsusən də "V" (müxtəlif) bayrağı aktiv olduqda. Buna görə də, qeydi /tmp/logBone.txt faylında saxlayan "Saxla" düyməsi əlavə edildi (söhbət Linuxdan gedir):

Android platformasında PKCS#11 kriptoqrafik token mexanizmlərindən istifadə

Bu düymənin gəlişi ilə proqramın sazlanması prosesi xeyli sadələşdirilmişdir.

Düymə əlavə etmək üçün 2591-ci sətirdən sonra sümüklər faylına aşağıdakı kodu əlavə etmək kifayətdir:

	    ttk::button $l.frame.clear -text "Clear" -width 6 
		-command [list adb_logcat_clear $l.text]
#Добавленный код
	    ttk::button $l.frame.save -text "Save" -width 6 
		-command [list adb_logcat_save $l.text]

	    ttk::button $l.frame.run -text "Run" -width 6 
		-command [list adb_logcat_run $l]

adb_logcat_save save əmri belə görünür:

proc adb_logcat_save {text} {
    set tt [$text get 1.0 end]
    set file "/tmp/logBone.txt"
    file delete -force $file
  #Собственно запись в файл
    set fd [open $file w]
    chan configure $fd -translation binary
    puts -nonewline $fd $tt
    close $fd
}

Mənbə: www.habr.com

Добавить комментарий