Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android È giunto il momento di utilizzare la crittografia Meccanismi PKCS#11 e sulla piattaforma Android. Alcuni potrebbero dire che non esistono token hardware per Android. Ma se è così, allora si tratta solo di un fenomeno temporaneo. Ma oggi puoi inserire o utilizzare un token software gettone nuvola. Dall'utilità cryptoarmpkcs-A è sviluppato per la piattaforma Android utilizzando Androwish nel linguaggio di scripting Tcl/Tk, quindi il pacchetto viene utilizzato per connettere i token TclPKCS11 versione 1.0.1.

In questo caso non è stata necessaria alcuna elaborazione del pacco. Tutto ciò che è stato fatto è stato aggiungere uno script al progetto per creare la libreria di pacchetti scritta nel linguaggio se stessi, per Android e la distribuzione della libreria stessa. Si è deciso di aggiungere allo stesso progetto le librerie del software ls11sw2016 e dei token cloud ls11cloud per varie piattaforme.

Tutto il resto è semplice. Aggiungiamo i pulsanti per selezionare un token funzionante nella seconda finestra e otteniamo:

  • token software ls11sw2016;
  • token cloud ls11cloud;
  • un altro token PKCS11#11.

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Per impostazione predefinita, è connesso un token software. Se non è stato creato in precedenza, ti verrà richiesto di inizializzarlo. Ricordiamolo inizializzazione del token consiste nell'assegnare un tag e impostare un codice PIN utente:

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Tieni presente che il token software è stato sviluppato in conformità con le raccomandazioni di PKCS#11 v.2.40 e TK-26. Per ottenere informazioni complete sul token, compresi i meccanismi crittografici supportati, è sufficiente fare clic sul pulsante "Informazioni sul token e sulla sua crittografia" nel menu principale ("Funzionali"). Oggi, nessun token hardware che supporti la crittografia russa ha questa funzionalità:

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Sorge la domanda: - come installare un certificato personale su un token. Ci sono due opzioni. La prima opzione è importare il certificato stesso e la sua coppia di chiavi tramite il contenitore PKCS#12 (il pulsante "Lavora con PKCS12/PFX"):

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

La seconda opzione prevede la creazione di una richiesta (PKCS#10) per un certificato. Questa opzione (function "Richiesta di certificato") prevede la generazione di una coppia di chiavi direttamente sul token:

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Ora puoi salvare la richiesta su unità flash e andare su centro di certificazione per un certificato. Se utilizzerai il certificato a scopo di test o internamente, puoi anche utilizzare l'utilità per emettere un certificato CAFL63. Il certificato risultante viene importato sul token nella scheda “Visualizza richiesta/certificato”:

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Ora puoi firmare i documenti con i certificati memorizzati sul token utilizzando la scheda "Firma un documento".

Nel prossimo articolo ti diremo come connettersi a un token cloud. E rimane aperta la questione del trasferimento delle funzioni di generazione dei certificati sulla piattaforma mobile. È necessario?

La versione aggiornata dell'utility cryptoarmpkcs-A per la piattaforma Android può essere scaricata qui:

PS Sto salvando il registro

Per creare il pacchetto, utilizzare l'utilità bone da SDK AndroWish. Una volta creato con successo il pacchetto, viene visualizzato il pulsante "Installa ed esegui" e, quando viene cliccato, si apre una finestra di registro che mostra l'output di adb logcat (logger Android Debug Bridge). Lo svantaggio di questa schermata è che è difficile trovare il messaggio di errore, soprattutto con il flag "V" (verboso) abilitato. Pertanto è stato aggiunto un pulsante “Salva” che salva il log nel file /tmp/logBone.txt (stiamo parlando di Linux):

Utilizzo dei meccanismi di token crittografici PKCS#11 sulla piattaforma Android

Con l'avvento di questo pulsante, il processo di debug dell'applicazione è stato notevolmente semplificato.

Per aggiungere un pulsante, basta aggiungere il seguente codice al file bone dopo la riga 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]

Il comando di salvataggio adb_logcat_save è simile al seguente:

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
}

Fonte: habr.com

Aggiungi un commento