Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform Het is tijd om cryptografie te gebruiken PKCS#1-mechanismen1 en op het Android-platform. Sommigen zeggen misschien dat er geen hardwaretokens voor Android zijn. Maar als dit zo is, dan is dit slechts een tijdelijk fenomeen. Maar tegenwoordig kun je een softwaretoken plaatsen of gebruiken wolk token. Sinds het hulpprogramma cryptoarmpkcs-A is ontwikkeld voor het Android-platform met behulp van Androwish in de Tcl/Tk-scripttaal, waarna het pakket wordt gebruikt om tokens te verbinden TclPKCS11 versie 1.0.1.

In dit geval was er geen verwerking van het pakket nodig. Het enige dat werd gedaan, was een script aan het project toevoegen om de pakketbibliotheek te bouwen die in de taal was geschreven B, voor Android en de bibliotheekdistributie zelf. Er werd besloten om bibliotheken met software ls11sw2016 en cloud ls11cloud-tokens voor verschillende platforms aan hetzelfde project toe te voegen.

Al het andere is eenvoudig. We voegen knoppen toe voor het selecteren van een werktoken aan het tweede venster en krijgen:

  • softwaretoken ls11sw2016;
  • cloudtoken ls11cloud;
  • nog een PKCS11#11-token.

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Standaard is er een softwaretoken aangesloten. Als het nog niet eerder is gemaakt, wordt u gevraagd het te initialiseren. Laten we dat in herinnering brengen token-initialisatie bestaat uit het toewijzen van een tag en het instellen van een gebruikerspincode:

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Houd er rekening mee dat het softwaretoken is ontwikkeld in overeenstemming met de aanbevelingen van PKCS#11 v.2.40 en TK-26. Om volledige informatie over het token te verkrijgen, inclusief ondersteunde cryptografische mechanismen, klikt u eenvoudig op de knop ‘Over het token en zijn cryptografie’ in het hoofdmenu (‘Functioneel’). Tegenwoordig heeft geen enkel hardwaretoken dat Russische cryptografie ondersteunt deze functionaliteit:

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

De vraag rijst: - hoe installeer je een persoonlijk certificaat op een token. Er zijn twee opties. De eerste optie is om het certificaat zelf en het sleutelpaar te importeren via de PKCS#12-container (de knop “Werken met PKCS12/PFX”):

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

De tweede optie betreft het aanmaken van een aanvraag (PKCS#10) voor een certificaat "Certificaataanvraag") zorgt voor het genereren van een sleutelpaar rechtstreeks op het token:

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Nu kunt u het verzoek opslaan op flashstations en naar gaan certificering centrum voor een certificaat. Als u het certificaat voor testdoeleinden of intern gaat gebruiken, kunt u het hulpprogramma ook gebruiken om een ​​certificaat uit te geven CAFL63. Het resulterende certificaat wordt geïmporteerd in het token op het tabblad “Aanvraag/Certificaat bekijken”:

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Via het tabblad kunt u nu documenten ondertekenen met certificaten die op het token zijn opgeslagen "Een document ondertekenen".

In het volgende artikel vertellen we u hoe u verbinding kunt maken met een cloudtoken. En de kwestie van het overbrengen van functies voor het genereren van certificaten naar het mobiele platform blijft open. Is dit nodig?

De bijgewerkte versie van het cryptoarmpkcs-A-hulpprogramma voor het Android-platform kan hier worden gedownload:

PS Het logboek opslaan

Gebruik het bottenhulpprogramma van om het pakket te bouwen AndroWish SDK. Zodra het pakket succesvol is gebouwd, verschijnt een knop "Installeren en uitvoeren" en wanneer erop wordt geklikt, wordt een logvenster geopend met de uitvoer van adb logcat (Android Debug Bridge-logger). Het nadeel van dit scherm is dat het moeilijk is om de foutmelding te vinden, vooral als de vlag "V" (uitgebreid) is ingeschakeld. Daarom is er een knop “Opslaan” toegevoegd, die de log opslaat in het bestand /tmp/logBone.txt (we hebben het over Linux):

Gebruik van PKCS#11 cryptografische tokenmechanismen op het Android-platform

Met de komst van deze knop is het proces van het debuggen van de applicatie aanzienlijk vereenvoudigd.

Om een ​​knop toe te voegen, voegt u gewoon de volgende code toe aan het bottenbestand na regel 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]

De adb_logcat_save save-opdracht ziet er als volgt uit:

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
}

Bron: www.habr.com

Voeg een reactie