Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android Đã đến lúc sử dụng mật mã Cơ chế PKCS#11 и на платформе AndroidMột số người có thể nói rằng không có thiết bị mã hóa phần cứng nào cho Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать mã thông báo đám mây. Vì tiện ích cryptoarmpkcs-A разрабатывается для платформы Android с использованием Androwish на скриптовом языке Tcl/Tk, то для подключения токенов используется пакет TclPKCS11 phiên bản 1.0.1.

Trong trường hợp này, không cần xử lý gói. Tất cả những gì đã làm là thêm một tập lệnh vào dự án để xây dựng thư viện gói được viết bằng ngôn ngữ Si, Dưới Android и сам дистрибутив библиотеки. В этот же проект было решено добавить и библиотеки программного ls11sw2016 и облачного ls11cloud токенов для различных платформ.

Mọi thứ khác đều đơn giản. Chúng tôi thêm các nút để chọn mã thông báo hoạt động vào cửa sổ thứ hai và nhận được:

  • mã thông báo phần mềm ls11sw2016;
  • mã thông báo đám mây ls11cloud;
  • một mã thông báo PKCS11#11 khác.

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Theo mặc định, mã thông báo phần mềm được kết nối. Nếu nó chưa được tạo trước đó, bạn sẽ được nhắc khởi tạo nó. Hãy để chúng tôi nhắc nhở bạn rằng khởi tạo mã thông báo bao gồm việc gán thẻ và đặt mã PIN cho người dùng:

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Lưu ý rằng mã thông báo phần mềm được phát triển theo khuyến nghị của PKCS#11 v.2.40 và TK-26. Để có được thông tin đầy đủ về mã thông báo, bao gồm các cơ chế mã hóa được hỗ trợ, chỉ cần nhấp vào nút “Giới thiệu về mã thông báo và mật mã của nó” trong menu chính (“Chức năng”). Ngày nay, không một token phần cứng nào hỗ trợ mật mã Nga có chức năng này:

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Câu hỏi đặt ra: - cách cài đặt chứng chỉ cá nhân trên mã thông báo. Có hai lựa chọn. Tùy chọn đầu tiên là nhập chính chứng chỉ và cặp khóa của nó thông qua bộ chứa PKCS#12 (nút “Làm việc với PKCS12/PFX”):

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Tùy chọn thứ hai liên quan đến việc tạo yêu cầu (PKCS#10) cho chứng chỉ. Tùy chọn này (chức năng "Yêu cầu chứng chỉ") cung cấp khả năng tạo cặp khóa trực tiếp trên mã thông báo:

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Bây giờ bạn có thể lưu yêu cầu vào ổ đĩa flash và đi tới trung tâm chứng nhận cho một chứng chỉ. Nếu bạn sử dụng chứng chỉ cho mục đích thử nghiệm hoặc nội bộ, bạn cũng có thể sử dụng tiện ích này để cấp chứng chỉ CAFL63. Chứng chỉ kết quả được nhập vào mã thông báo trong tab “Xem yêu cầu/chứng chỉ”:

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Bây giờ bạn có thể ký các tài liệu có chứng chỉ được lưu trữ trên mã thông báo bằng tab "Ký một văn bản".

Trong bài viết tiếp theo, chúng tôi sẽ hướng dẫn bạn cách kết nối với mã thông báo trên đám mây. Và câu hỏi về việc chuyển các chức năng tạo chứng chỉ sang nền tảng di động vẫn còn bỏ ngỏ. Điều này có cần thiết không?

Обновленную версию утилиты cryptoarmpkcs-A для платформы Android можно скачать здесь:

PS Lưu nhật ký

Để xây dựng gói, hãy sử dụng tiện ích xương từ SDK AndroWish. После успешной сборки пакета появляется кнопка «Install & run», после нажатия которой открывается окно журнала, в котором отображаются выходные данные adb logcat (средства ведения журнала Android Debug Bridge). Недостатком этого экрана является то, что в нем сложно найти сообщение об ошибке, особенно с включенным флажком «V» (verbose). Поэтому была добавлена кнопка «Save», которая сохраняет журнал в файле /tmp/logBone.txt (речь идет о Linux):

Sử dụng cơ chế mã thông báo mật mã PKCS#11 trên nền tảng Android

Với sự ra đời của nút này, quá trình gỡ lỗi ứng dụng đã được đơn giản hóa rất nhiều.

Để thêm nút, chỉ cần thêm đoạn mã sau vào tệp xương sau dòng 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]

Lệnh lưu adb_logcat_save trông như thế này:

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
}

Nguồn: www.habr.com

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster