PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje Atėjo laikas naudoti kriptografiją PKCS#1 mechanizmai1 ir „Android“ platformoje. Kai kurie gali pasakyti, kad „Android“ nėra aparatinės įrangos žetonų. Bet jei taip yra, tai tik laikinas reiškinys. Tačiau šiandien galite įdėti programinės įrangos prieigos raktą arba naudoti debesies žetonas. Nuo naudingumo cryptoarmpkcs-A sukurtas Android platformai naudojant Androwish Tcl/Tk scenarijų kalba, tada paketas naudojamas žetonams sujungti TclPKCS11 versija 1.0.1.

Šiuo atveju pakuotės apdoroti nereikėjo. Viskas, kas buvo padaryta, buvo pridėti scenarijų prie projekto, kad būtų sukurta ta kalba parašyta paketų biblioteka Si, skirta „Android“ ir pačiam bibliotekos platinimui. Į tą patį projektą buvo nuspręsta įtraukti įvairių platformų programinės įrangos ls11sw2016 ir debesų ls11cloud žetonų bibliotekas.

Visa kita paprasta. Prie antrojo lango pridedame darbo žetono pasirinkimo mygtukus ir gauname:

  • programinės įrangos prieigos raktas ls11sw2016;
  • debesies žetonas ls11cloud;
  • kitas PKCS11#11 prieigos raktas.

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Pagal numatytuosius nustatymus yra prijungtas programinės įrangos prieigos raktas. Jei jis anksčiau nebuvo sukurtas, būsite paraginti jį inicijuoti. Prisiminkime tai žetono inicijavimas susideda iš žymos priskyrimo ir vartotojo PIN kodo nustatymo:

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Atminkite, kad programinės įrangos prieigos raktas buvo sukurtas pagal PKCS#11 v.2.40 ir TK-26 rekomendacijas. Norėdami gauti visą informaciją apie žetoną, įskaitant palaikomus kriptografinius mechanizmus, tiesiog spustelėkite mygtuką „Apie žetoną ir jo kriptografiją“ pagrindiniame meniu („Funkcinis“). Šiandien ne vienas aparatūros prieigos raktas, palaikantis rusišką kriptografiją, neturi šios funkcijos:

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Kyla klausimas: - kaip ant žetono įdiegti asmeninį pažymėjimą. Yra du variantai. Pirmoji parinktis yra importuoti patį sertifikatą ir jo raktų porą per PKCS#12 konteinerį (mygtukas „Darbas su PKCS12/PFX“):

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Antroji parinktis apima sertifikato užklausos (PKCS#10) sukūrimą. Ši parinktis (funkcija "Sertifikato prašymas") numato raktų poros generavimą tiesiai ant prieigos rakto:

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Dabar galite išsaugoti užklausą „flash drives“ ir eiti į sertifikavimo centras už pažymėjimą. Jei sertifikatą naudosite bandymo tikslais arba viduje, sertifikatui išduoti taip pat galite naudoti įrankį CAFL63. Gautas sertifikatas importuojamas į prieigos raktą skirtuke „Peržiūrėti užklausą / sertifikatą“:

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Dabar galite pasirašyti dokumentus su sertifikatais, saugomais žetonu, naudodami skirtuką „Pasirašyk dokumentą“.

Kitame straipsnyje mes jums pasakysime, kaip prisijungti prie debesies prieigos rakto. O sertifikatų generavimo funkcijų perkėlimo į mobiliąją platformą klausimas lieka atviras. Ar tai būtina?

Atnaujintą „Android“ platformai skirtos „cryptoarmpkcs-A“ programos versiją galite atsisiųsti čia:

PS Žurnalo išsaugojimas

Norėdami sukurti paketą, naudokite kaulų įrankį iš AndroWish SDK. Sėkmingai sukūrus paketą, pasirodo mygtukas „Įdiegti ir vykdyti“, o spustelėjus atsidaro žurnalo langas, kuriame rodoma „adb logcat“ („Android Debug Bridge“ registratoriaus) išvestis. Šio ekrano trūkumas yra tas, kad sunku rasti klaidos pranešimą, ypač kai įjungta „V“ (žodinė) vėliavėlė. Todėl buvo pridėtas mygtukas „Išsaugoti“, kuris išsaugo žurnalą faile /tmp/logBone.txt (kalbame apie Linux):

PKCS#11 kriptografinių žetonų mechanizmų naudojimas Android platformoje

Atsiradus šiam mygtukui, programos derinimo procesas buvo labai supaprastintas.

Norėdami pridėti mygtuką, tiesiog pridėkite šį kodą į kaulų failą po 2591 eilutės:

	    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 išsaugojimo komanda atrodo taip:

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
}

Šaltinis: www.habr.com

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