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

在Android平台上使用PKCS#11加密令牌機制 使用加密技術的時代已經到來 PKCS#1 機制1、Android平台上。 有人可能會說 Android 沒有硬體令牌。 但是,如果真是這樣,那麼這只是暫時的現象。 但今天您可以放置​​軟體令牌或使用 雲令牌。 自從實用 隱臂kcs-A 使用Tcl/Tk腳本語言中的Androwish為Android平台開發,然後使用該套件來連接token TclPKCS11 版本 1.0.1.

在這種情況下,不需要對包進行處理。 所做的就是在專案中新增一個腳本來建立用該語言編寫的套件庫 ,適用於 Android 和庫發行版本身。 決定將適用於各種平台的軟體庫 ls11sw2016 和雲端 ls11cloud 令牌加入到同一專案中。

其他一切都很簡單。 我們將用於選擇工作令牌的按鈕新增到第二個視窗並獲得:

  • 軟體令牌 ls11sw2016;
  • 雲端代幣 ls11cloud;
  • 另一個 PKCS11#11 令牌。

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

預設情況下,連接軟體令牌。 如果之前沒有建立過,系統會提示您進行初始化。 讓我們提醒您 令牌初始化 包括分配標籤和設定用戶 PIN 碼:

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

請注意,軟體令牌是根據 PKCS#11 v.2.40 和 TK-26 的建議開發的。 要獲取有關令牌的完整信息,包括支援的加密機制,只需單擊主選單中的“關於令牌及其加密”按鈕(“功能”)。 如今,沒有一個支援俄羅斯密碼的硬體令牌具有此功能:

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

出現了問題: - 如何在令牌上安裝個人憑證。 有兩種選擇。 第一個選項是透過 PKCS#12 容器匯入憑證本身及其金鑰對(「使用 PKCS12/PFX」按鈕):

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

第二個選項涉及建立憑證要求 (PKCS#10)。此選項(函數 “證書要求”)直接在令牌上產生密鑰對:

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

現在您可以將請求儲存到隨身碟並轉到 認證中心 以獲得證書。 如果您將證書用於測試目的或內部,您也可以使用該實用程式頒發證書 CAFL63。 產生的憑證將會匯入到「檢視請求/憑證」標籤中的令牌中:

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

現在您可以使用選項卡使用儲存在令牌上的憑證簽署文檔 “簽署文件”.

在下一篇文章中,我們將告訴您如何連接到雲端令牌。 將證書產生功能轉移到行動平台的問題仍然懸而未決。 有這個必要嗎?

適用於 Android 平台的 cryptoarmpkcs-A 實用程式的更新版本可以在此處下載:

PS保存日誌

要建立包,請使用骨骼實用程式 安卓Wish SDK。 成功建置套件後,會出現一個「安裝並執行」按鈕,點擊時會開啟一個日誌窗口,顯示 adb logcat(Android 偵錯橋記錄器)的輸出。 此畫面的缺點是很難找到錯誤訊息,尤其是在啟用「V」(詳細)標誌的情況下。 因此,新增了一個「儲存」按鈕,它將日誌保存在檔案 /tmp/logBone.txt 中(我們討論的是 Linux):

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

隨著這個按鈕的出現,調試應用程式的過程已經大大簡化。

要新增按鈕,只需將以下程式碼新增至bones檔案第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
}

來源: www.habr.com

添加評論