Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android Chegou o momento de utilizar a criptografía Mecanismos PKCS#11 e na plataforma Android. Algúns poden dicir que non hai tokens de hardware para Android. Pero, se isto é así, entón este é só un fenómeno temporal. Pero hoxe podes poñer un token de software ou usar ficha de nube. Dende a utilidade cryptoarmpkcs-A desenvólvese para a plataforma Android usando Androwish na linguaxe de script Tcl/Tk, entón o paquete utilízase para conectar tokens TclPKCS11 versión 1.0.1.

Neste caso, non foi necesario procesar o paquete. Todo o que se fixo foi engadir un script ao proxecto para construír a biblioteca de paquetes escrita na linguaxe Si, para Android e a propia distribución da biblioteca. Decidiuse engadir bibliotecas de software ls11sw2016 e tokens cloud ls11cloud para varias plataformas ao mesmo proxecto.

Todo o demais é sinxelo. Engadimos botóns para seleccionar un token de traballo á segunda xanela e obtemos:

  • token de software ls11sw2016;
  • token de nube ls11cloud;
  • outro token PKCS11#11.

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Por defecto, un token de software está conectado. Se non se creou anteriormente, solicitaráselle que o inicialice. Lembrámosche iso inicialización do token consiste en asignar unha etiqueta e configurar un código PIN de usuario:

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Teña en conta que o token de software desenvolveuse de acordo coas recomendacións de PKCS#11 v.2.40 e TK-26. Para obter información completa sobre o token, incluídos os mecanismos criptográficos admitidos, só tes que facer clic no botón "Acerca do token e a súa criptografía" no menú principal ("Funcional"). Hoxe, nin un só token de hardware que admita a criptografía rusa ten esta funcionalidade:

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Xorde a pregunta: - como instalar un certificado persoal nun token. Hai dúas opcións. A primeira opción é importar o propio certificado e o seu par de claves a través do contedor PKCS#12 (o botón "Traballar con PKCS12/PFX"):

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

A segunda opción implica crear unha solicitude (PKCS#10) para un certificado. Esta opción (función "Solicitude de certificado") prevé a xeración dun par de claves directamente no token:

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Agora podes gardar a solicitude en unidades flash e ir a centro de certificación para un certificado. Se usará o certificado para fins de proba ou internamente, tamén pode utilizar a utilidade para emitir un certificado CAFL63. O certificado resultante impórtase ao token na pestana "Ver solicitude/certificado":

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Agora podes asinar documentos cos certificados almacenados no token usando a pestana "Asinar un documento".

No seguinte artigo dirémosche como conectarse a un token de nube. E a cuestión de transferir as funcións de xeración de certificados á plataforma móbil segue aberta. Isto é necesario?

A versión actualizada da utilidade cryptoarmpkcs-A para a plataforma Android pódese descargar aquí:

P.S. Gardando o rexistro

Para crear o paquete, use a utilidade bones de AndroWish SDK. Unha vez que o paquete está construído con éxito, aparece un botón "Instalar e executar" e cando se fai clic, ábrese unha xanela de rexistro que mostra a saída de adb logcat (logger de Android Debug Bridge). A desvantaxe desta pantalla é que é difícil atopar a mensaxe de erro, especialmente coa bandeira "V" (verbose) activada. Por iso, engadiuse un botón "Gardar", que garda o rexistro no ficheiro /tmp/logBone.txt (falamos de Linux):

Usando mecanismos de token criptográfico PKCS#11 na plataforma Android

Coa aparición deste botón, o proceso de depuración da aplicación simplificouse moito.

Para engadir un botón, só tes que engadir o seguinte código ao ficheiro bones despois da liña 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]

O comando de gardar adb_logcat_save ten o seguinte aspecto:

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: www.habr.com

Engadir un comentario