在Android平台上使用PKCS#11加密令牌机制

现在是时候在Android平台上使用PKCS#1 1 加密机制了。可能有人会说Android没有硬件令牌。但是,如果是这样,那么这只是暂时现象。但是今天您可以放置​​软件令牌或使用云令牌。由于cryptoarmpkcs-A实用程序是使用Tcl / Tk脚本语言的Androwish为Android平台开发的,因此TclPKCS11版本1.0.1软件包用于连接令牌

同时,不需要处理包装。完成的全部工作是将脚本添加到项目中,以构建用C编写的软件包库,适用于Android和库分发本身。决定将适用于各种平台的软件ls11sw2016和云ls11cloud令牌的库添加到同一项目中。

其余的很简单。将用于选择工作令牌的按钮添加到第二个窗口中,并获得:

  • 软件令牌ls11sw2016;
  • 云令牌ls11cloud;
  • 另一个PKCS11#11令牌。



默认情况下,已连接软件令牌。如果它不是以前创建的,则建议对其进行初始化。回想一下,令牌初始化包括分配标签和设置自定义PIN码:



请注意,软件令牌是根据PKCS#11 v.2.40和TK-26的建议设计的。要获取有关令牌的完整信息,包括受支持的加密机制,只需在主菜单(“功能”)中单击“关于令牌及其加密”按钮。如今,没有一个支持俄语加密的硬件令牌具有以下功能:



问题出现了:-如何为令牌安装个人证书。有两种选择。第一个选项是通过PKCS#12容器(“使用PKCS12 / PFX”按钮)导入证书本身及其密钥对:



第二个选项涉及为证书创建请求(PKCS#10),该选项(“请求证书”功能)提供直接在令牌上生成密钥对:



现在,您可以保存对闪存驱动器的请求,并随同证书文件一起转到认证中心。如果您将证书用于测试目的或内部使用,则CAFL63实用程序也可用于颁发证书。收到的证书将导入到“查看请求/证书”选项卡上的令牌中:



现在,您可以使用“签署文件”标签,使用存储在令牌中的证书签署文件

在下一篇文章中,我们将告诉您如何连接到云令牌。到目前为止,问题仍然存在于将证书生成功能转移到移动平台上。需要这个吗?

可在此处下载适用于Android平台的cryptoarmpkcs-A实用程序的更新版本:


PS保存日记


要构建软件包,请使用AndroWish SDK中的bones实用程序成功组装软件包后,单击“安装并运行”按钮后,将打开一个日志窗口,该窗口显示adb logcat(Android Debug Bridge日志记录工具)的输出。该屏幕的缺点是很难在其中找到错误消息,尤其是在打开“ V”(详细)标志的情况下。因此,添加了“保存”按钮,该日志将日志保存在文件/tmp/logBone.txt中(我们正在谈论Linux):



随着该按钮的出现,大大简化了调试应用程序的过程。

要添加按钮,只需在第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]

保存命令adb_logcat_save的格式为:

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
}

All Articles