ΠΠΎΠ΄ΠΎΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ 1 ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Android. ΠΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ
ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π΄Π»Ρ Android. ΠΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈ ΡΠ°ΠΊ, ΡΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅. ΠΠΎ ΡΠΆΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈΠ»ΠΈΡΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Androwish Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Tcl/Tk, ΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ .
ΠΡΠΈ ΡΡΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ. ΠΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΡΡΠΎ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ , ΠΏΠΎΠ΄ Android ΠΈ ΡΠ°ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π ΡΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ls11sw2016 ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ls11cloud ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΠ°Π»Π΅Π΅ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π° Π²ΡΠΎΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠ±ΠΎΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΎΠΊΠ΅Π½Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ:
- ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ ls11sw2016;
- ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ ls11cloud;
- Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΠΊΠ΅Π½ PKCS11#11.

ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½. ΠΡΠ»ΠΈ ΡΠ°Π½Π΅Π΅ ΠΎΠ½ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠΎΡΡΠΎΠΈΡ Π² Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ PIN-ΠΊΠΎΠ΄Π°:

ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ PKCS#11 v.2.40 ΠΈ Π’Π-26. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΊΠ΅Π½Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠ²ΠΊΡ Β«Π ΡΠΎΠΊΠ΅Π½Π΅ ΠΈ Π΅Π³ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈΒ» Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ (Β«Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Β»). Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°:

ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ:- ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π° ΡΠΎΠΊΠ΅Π½. ΠΡΡΡ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ PKCS#12 (ΠΊΠ½ΠΎΠΏΠΊΠ° Β«Π Π°Π±ΠΎΡΠ°Π΅ΠΌ Ρ PKCS12/PFXΒ»):

ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° (PKCS#10) Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ (ΡΡΠ½ΠΊΡΠΈΡ ) ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΏΠ°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠΎΠΊΠ΅Π½Π΅:

Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΡΡΠΊΠΈ ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ΄ΡΠΈ Π² Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ. ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π² ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΡΠ΅Π»ΡΡ
ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π΄Π»Ρ Π²ΡΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ . ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠΊΠ΅Π½ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΡΠΎΡΠΌΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠ°/Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°Β»:

Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ, Ρ
ΡΠ°Π½ΡΡΠΈΠΌΠΈΡΡ Π½Π° ΡΠΎΠΊΠ΅Π½Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ .
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌΡ ΡΠΎΠΊΠ΅Π½Ρ. Π ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠΊΠ° ΠΎΡΠΊΡΡΡΡΠΌ Π²ΠΎΠΏΡΠΎΡ Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΎΠΌ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΡΡΡ Π»ΠΈ Π² ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ?
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ cryptoarmpkcs-A Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π·Π΄Π΅ΡΡ:
P.S. Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π°
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ° bones ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° . ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«Install & runΒ», ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΆΡΡΠ½Π°Π»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ adb logcat (ΡΡΠ΅Π΄ΡΡΠ²Π° Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π° Android Debug Bridge). ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² Π½Π΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π°ΠΆΠΊΠΎΠΌ Β«VΒ» (verbose). ΠΠΎΡΡΠΎΠΌΡ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Β«SaveΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΆΡΡΠ½Π°Π» Π² ΡΠ°ΠΉΠ»Π΅ /tmp/logBone.txt (ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Linux):

Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΠ»ΡΡ.
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ°ΠΉΠ» 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
}ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com
