Menggunakan mekanisme token kriptografi PKCS # 11 pada platform Android

Waktunya telah tiba untuk menggunakan mekanisme kriptografi PKCS # 1 1 pada platform Android. Seseorang mungkin mengatakan bahwa tidak ada token perangkat keras untuk Android. Tapi, jika memang demikian, maka ini hanya fenomena sementara. Tetapi hari ini Anda dapat memasang token perangkat lunak atau menggunakan token cloud . Karena utilitas cryptoarmpkcs-A dikembangkan untuk platform Android menggunakan Androwish dalam bahasa skrip Tcl / Tk, paket TclPKCS11 versi 1.0.1 digunakan untuk menghubungkan token .

Pada saat yang sama, tidak diperlukan pemrosesan paket. Semua yang dilakukan adalah skrip ditambahkan ke proyek untuk membangun perpustakaan paket yang ditulis dalam C, untuk Android dan distribusi perpustakaan itu sendiri. Diputuskan untuk menambahkan perpustakaan perangkat lunak ls11sw2016 dan cloud ls11cloud token untuk berbagai platform ke proyek yang sama.

Sisanya sederhana. Tambahkan tombol untuk memilih token yang berfungsi ke jendela kedua dan dapatkan:

  • token perangkat lunak ls11sw2016;
  • cloud token ls11cloud;
  • token PKCS11 # 11 lainnya.



Secara default, token perangkat lunak terhubung. Jika sebelumnya tidak dibuat, maka akan diusulkan untuk menginisialisasi. Ingatlah bahwa inisialisasi token terdiri dari pemberian label dan pengaturan PIN pengguna:



Perhatikan bahwa token perangkat lunak dirancang sesuai dengan rekomendasi PKCS # 11 v.2.40 dan TK-26. Untuk mendapatkan informasi lengkap tentang token, termasuk mekanisme kriptografi yang didukung, cukup klik tombol "Tentang token dan kriptografinya" di menu utama ("Fungsional"). Saat ini, tidak ada token perangkat keras tunggal dengan dukungan untuk kriptografi Rusia yang memiliki fungsi ini:



Muncul pertanyaan: - bagaimana cara menginstal sertifikat pribadi untuk token. Ada dua opsi. Opsi pertama adalah mengimpor sertifikat itu sendiri dan pasangan kuncinya melalui wadah PKCS # 12 (tombol "Bekerja dengan PKCS12 / PFX"):



Opsi kedua melibatkan membuat permintaan (PKCS # 10) untuk sertifikat. Opsi ini (fungsi "Permintaan Sertifikat" ) menyediakan pembuatan pasangan kunci langsung pada token:



Sekarang Anda dapat menyimpan permintaan untuk flash drive dan pergi ke pusat sertifikasi dengan dokumen untuk sertifikat. Jika Anda akan menggunakan sertifikat untuk tujuan pengujian atau perusahaan, maka utilitas CAFL63 juga dapat digunakan untuk menerbitkan sertifikat . Sertifikat yang diterima diimpor ke token pada tab "Lihat Permintaan / Sertifikat":



Sekarang Anda dapat menandatangani dokumen dengan sertifikat yang disimpan di token menggunakan tab "Sign a document" .

Pada artikel selanjutnya, kami akan memberi tahu Anda cara menghubungkan ke token cloud. Dan pertanyaannya tetap sejauh ini dengan transfer fungsi pembuatan sertifikat ke platform seluler. Apakah ada kebutuhan untuk ini?

Versi terbaru dari utilitas cryptoarmpkcs-A untuk platform Android dapat diunduh di sini:


Jurnal Menyimpan PS


Untuk membangun paket, utilitas tulang dari AndroWish SDK digunakan . Setelah berhasil menyusun paket, tombol Instal & jalankan muncul, setelah mengklik jendela log mana yang terbuka, yang menampilkan output adb logcat (fasilitas logging Android Debug Bridge). Kelemahan dari layar ini adalah sulitnya menemukan pesan kesalahan di dalamnya, terutama dengan bendera ā€œVā€ (verbose) dihidupkan. Oleh karena itu, tombol "Simpan" ditambahkan, yang menyimpan log dalam file /tmp/logBone.txt (kita berbicara tentang Linux):



Dengan munculnya tombol ini, proses debugging aplikasi sangat disederhanakan.

Untuk menambahkan tombol, cukup tambahkan kode berikut ke file tulang setelah baris 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]

Perintah save adb_logcat_save memiliki bentuk:

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