Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen Det är dags att använda kryptografik PKCS#1-mekanismer1 och på Android-plattformen. Vissa kanske säger att det inte finns några hårdvarutokens för Android. Men om det är så, så är detta bara ett tillfälligt fenomen. Men idag kan du lägga en mjukvarutoken eller använda molntoken. Sedan verktyget cryptoarmpkcs-A är utvecklad för Android-plattformen med Androwish i skriptspråket Tcl/Tk, sedan används paketet för att ansluta tokens TclPKCS11 version 1.0.1.

I det här fallet krävdes ingen bearbetning av paketet. Allt som gjordes var att lägga till ett skript till projektet för att bygga paketbiblioteket skrivet på språket B, för Android och själva biblioteksdistributionen. Det beslutades att lägga till bibliotek med programvara ls11sw2016 och cloud ls11cloud-tokens för olika plattformar till samma projekt.

Allt annat är enkelt. Vi lägger till knappar för att välja en fungerande token i det andra fönstret och får:

  • mjukvarutoken ls11sw2016;
  • molntoken ls11cloud;
  • en annan PKCS11#11-token.

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Som standard är en mjukvarutoken ansluten. Om den inte har skapats tidigare kommer du att bli ombedd att initiera den. Låt oss påminna dig om det token-initiering består av att tilldela en tagg och ställa in en användar-PIN-kod:

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Observera att mjukvarutokenen utvecklades i enlighet med rekommendationerna i PKCS#11 v.2.40 och TK-26. För att få fullständig information om token, inklusive stödda kryptografiska mekanismer, klicka bara på knappen "Om token och dess kryptografi" i huvudmenyn ("Funktionell"). Idag har inte en enda hårdvarutoken som stöder rysk kryptografi denna funktionalitet:

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Frågan uppstår: - hur man installerar ett personligt certifikat på en token. Det finns två alternativ. Det första alternativet är att importera själva certifikatet och dess nyckelpar genom PKCS#12-behållaren (knappen "Arbeta med PKCS12/PFX"):

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Det andra alternativet innebär att skapa en begäran (PKCS#10) för ett certifikat "Certifikatbegäran") tillhandahåller generering av ett nyckelpar direkt på token:

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Nu kan du spara förfrågan på flash-enheter och gå till certifieringscenter för ett certifikat. Om du kommer att använda certifikatet för teständamål eller internt kan du också använda verktyget för att utfärda ett certifikat CAFL63. Det resulterande certifikatet importeras till token på fliken "Visa begäran/certifikat":

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Du kan nu signera dokument med certifikat lagrade på token med hjälp av fliken "Skriv under ett dokument".

I nästa artikel kommer vi att berätta hur du ansluter till en molntoken. Och frågan om att överföra certifikatgenereringsfunktioner till den mobila plattformen är fortfarande öppen. Är detta nödvändigt?

Den uppdaterade versionen av verktyget cryptoarmpkcs-A för Android-plattformen kan laddas ner här:

PS Sparar loggen

För att bygga paketet, använd benverktyget från AndroWish SDK. När paketet har byggts framgångsrikt visas en "Installera och kör"-knapp och när du klickar på den öppnas ett loggfönster som visar utdata från adb logcat (Android Debug Bridge-logger). Nackdelen med den här skärmen är att det är svårt att hitta felmeddelandet, speciellt med "V" (verbose) flaggan aktiverad. Därför lades en "Spara"-knapp till, som sparar loggen i filen /tmp/logBone.txt (vi pratar om Linux):

Använder PKCS#11 kryptografiska tokenmekanismer på Android-plattformen

Med tillkomsten av denna knapp har processen för att felsöka applikationen förenklats avsevärt.

För att lägga till en knapp, lägg bara till följande kod i bones-filen efter rad 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]

Save-kommandot adb_logcat_save ser ut så hä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
}

Källa: will.com

Lägg en kommentar