PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla On tullut aika käyttää kryptografiaa PKCS#1 mekanismit1 ja Android-alustalla. Jotkut saattavat sanoa, että Androidille ei ole laitteistotunnuksia. Mutta jos näin on, tämä on vain tilapäinen ilmiö. Mutta tänään voit laittaa ohjelmistotunnuksen tai käyttää pilvi merkki. Koska apuohjelma cryptoarmpkcs-A on kehitetty Android-alustalle käyttämällä Androwishia Tcl/Tk-skriptikielellä, sitten pakettia käytetään tokenien yhdistämiseen TclPKCS11 versio 1.0.1.

Tässä tapauksessa paketin käsittelyä ei vaadittu. Kaikki mitä tehtiin, oli lisätä skripti projektiin kielellä kirjoitetun pakettikirjaston rakentamiseksi B, Androidille ja itse kirjaston jakelulle. Samaan projektiin päätettiin lisätä ohjelmistokirjastot ls11sw2016 ja pilvipohjaiset ls11cloud-tunnukset eri alustoille.

Kaikki muu on yksinkertaista. Lisäämme toiseen ikkunaan painikkeet toimivan tunnuksen valitsemiseksi ja saamme:

  • ohjelmistotunnus ls11sw2016;
  • pilvitunnus ls11cloud;
  • toinen PKCS11#11-tunnus.

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Oletusarvoisesti ohjelmistotunnus on yhdistetty. Jos sitä ei ole luotu aiemmin, sinua kehotetaan alustamaan se. Muistakaamme se tunnuksen alustus koostuu tunnisteen määrittämisestä ja käyttäjän PIN-koodin asettamisesta:

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Huomaa, että ohjelmistotunnus on kehitetty PKCS#11 v.2.40:n ja TK-26:n suositusten mukaisesti. Saadaksesi täydelliset tiedot tunnuksesta, mukaan lukien tuetut kryptografiset mekanismit, napsauta vain päävalikossa ("Functional") "Tietoja tunnuksesta ja sen salauksesta" -painiketta. Nykyään yhdelläkään venäläistä salausta tukevalla laitteistotunnisteella ei ole tätä toimintoa:

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Herää kysymys: - kuinka henkilökohtainen varmenne asennetaan tunnukselle. Vaihtoehtoja on kaksi. Ensimmäinen vaihtoehto on tuoda itse varmenne ja sen avainpari PKCS#12-säilön kautta ("Work with PKCS12/PFX" -painike):

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Toinen vaihtoehto sisältää pyynnön (PKCS#10) luomisen varmennetta varten. Tämä vaihtoehto (funktio "Todistuspyyntö") tarjoaa avainparin luomisen suoraan tunnukselle:

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Nyt voit tallentaa pyynnön flash-asemille ja siirtyä osoitteeseen sertifiointikeskus todistusta varten. Jos käytät varmennetta testaustarkoituksiin tai sisäisesti, voit käyttää apuohjelmaa myös varmenteen myöntämiseen CAFL63. Tuloksena oleva varmenne tuodaan "Näytä pyyntö/sertifikaatti" -välilehden tunnukselle:

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Voit nyt allekirjoittaa asiakirjoja tunnukseen tallennetuilla varmenteilla välilehden avulla "Allekirjoita asiakirja".

Seuraavassa artikkelissa kerromme sinulle kuinka muodostaa yhteys pilvitunnukseen. Ja kysymys varmenteen luontitoimintojen siirtämisestä mobiilialustalle on edelleen avoin. Onko tämä tarpeellista?

Android-alustan cryptoarmpkcs-A-apuohjelman päivitetyn version voi ladata täältä:

PS Lokin tallentaminen

Käytä pakkauksen rakentamiseen luut-apuohjelmaa AndroWish SDK. Kun paketti on rakennettu onnistuneesti, "Asenna ja suorita" -painike tulee näkyviin, ja kun sitä napsautetaan, avautuu lokiikkuna, jossa näkyy adb logcat (Android Debug Bridge -loggeri) tulos. Tämän näytön haittapuoli on, että virheilmoituksen löytäminen on vaikeaa, varsinkin kun "V" (verbose) -lippu on käytössä. Siksi lisättiin "Tallenna" -painike, joka tallentaa lokin tiedostoon /tmp/logBone.txt (puhumme Linuxista):

PKCS#11 kryptografisten merkkimekanismien käyttäminen Android-alustalla

Tämän painikkeen myötä sovelluksen virheenkorjausprosessi on yksinkertaistunut huomattavasti.

Voit lisätä painikkeen lisäämällä seuraavan koodin bones-tiedostoon rivin 2591 jälkeen:

	    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]

Tallennuskomento adb_logcat_save näyttää tältä:

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
}

Lähde: will.com

Lisää kommentti