Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo Venis la tempo uzi kriptografian PKCS#1 mekanismoj1 kaj sur la Android-platformo. Iuj povas diri, ke ne ekzistas aparataj ĵetonoj por Android. Sed, se tio estas tiel, tiam ĉi tio estas nur provizora fenomeno. Sed hodiaŭ vi povas meti programaron ĵetonon aŭ uzi nubo-ĵetono. Ekde la utileco cryptoarmpkcs-A estas evoluigita por la Android-platformo uzante Androwish en la skriptlingvo Tcl/Tk, tiam la pakaĵo estas uzata por konekti ĵetonojn TclPKCS11 versio 1.0.1.

En ĉi tiu kazo, neniu pretigo de la pakaĵo estis postulata. Ĉio, kio estis farita, estis aldoni skripton al la projekto por konstrui la pakaĵbibliotekon skribitan en la lingvo Si, por Android kaj la bibliotekdistribuo mem. Oni decidis aldoni bibliotekojn de programaro ls11sw2016 kaj nubo ls11cloud-ĵetonoj por diversaj platformoj al la sama projekto.

Ĉio alia estas simpla. Ni aldonas butonojn por elekti funkciantan ĵetonon al la dua fenestro kaj ricevas:

  • programaro-ĵetono ls11sw2016;
  • nubo-ĵetono ls11nubo;
  • alia PKCS11#11-ĵetono.

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Defaŭlte, programaro-ĵetono estas konektita. Se ĝi ne estis kreita antaŭe, oni petos vin pravalorigi ĝin. Ni rememorigu tion al vi ĵetono inicialigo konsistas en atribui etikedon kaj agordi uzantan PIN-kodon:

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Notu, ke la programaro-ĵetono estis evoluigita laŭ la rekomendoj de PKCS#11 v.2.40 kaj TK-26. Por akiri kompletajn informojn pri la ĵetono, inkluzive de subtenataj kriptografikaj mekanismoj, simple alklaku la butonon "Pri la ĵetono kaj ĝia kripto" en la ĉefa menuo ("Funkcia"). Hodiaŭ, eĉ ne unu aparatara ĵetono subtenanta rusan kriptografion havas ĉi tiun funkcion:

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Estiĝas la demando: - kiel instali personan atestilon sur ĵetono. Estas du opcioj. La unua opcio estas importi la atestilon mem kaj ĝian ŝlosilparon per la ujo PKCS#12 (la butono "Labori kun PKCS12/PFX"):

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

La dua opcio implikas krei peton (PKCS#10) por atestilo. Ĉi tiu opcio (funkcio "Peto de Atestilo") provizas por la generacio de ŝlosilparo rekte sur la ĵetono:

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Nun vi povas konservi la peton al flash drives kaj iri al atesta centro por atestilo. Se vi uzos la atestilon por testaj celoj aŭ interne, vi ankaŭ povas uzi la ilon por elsendi atestilon CAFL63. La rezulta atestilo estas importita al la ĵetono en la langeto "Vidi Peton/Atestilon":

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Vi nun povas subskribi dokumentojn kun atestiloj konservitaj sur la ĵetono uzante la langeton "Subskribu dokumenton".

En la sekva artikolo ni diros al vi kiel konekti al nuba ĵetono. Kaj la demando pri translokigo de atestilgeneradaj funkcioj al la movebla platformo restas malfermita. Ĉu ĉi tio estas necesa?

La ĝisdatigita versio de la ilo cryptoarmpkcs-A por la Android-platformo povas esti elŝutita ĉi tie:

PS Konservante la protokolon

Por konstrui la pakaĵon, uzu la ilon de ostoj de AndroWish SDK. Post kiam la pakaĵo estas sukcese konstruita, aperas butono "Instali kaj ruli" kaj kiam oni alklakas, malfermiĝas protokolo-fenestro montrante la eligon de adb logcat (Logger de Android Debug Bridge). La malavantaĝo de ĉi tiu ekrano estas ke estas malfacile trovi la erarmesaĝon, precipe kun la "V" (vorta) flago ebligita. Tial oni aldonis butonon "Konservi", kiu konservas la protokolon en la dosiero /tmp/logBone.txt (ni parolas pri Linukso):

Uzante PKCS#11-kriptografajn ĵetonajn mekanismojn sur la Android-platformo

Kun la apero de ĉi tiu butono, la procezo de elpurigado de la aplikaĵo multe simpliĝis.

Por aldoni butonon, simple aldonu la sekvan kodon al la dosiero de ostoj post linio 2591:

	    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]

La adb_logcat_save save komando aspektas jene:

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
}

fonto: www.habr.com

Aldoni komenton