ΠΠΎΡΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ
ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ. Π‘Γ¨ ΡΡΠΎ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅ ΡΠΊΡΠΈΠΏΡΠ° Π²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ
Π‘Γ¨ Π΄ΡΡΠ³ΠΎ Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ. ΠΠΎΠ΄Π°Π²Π°ΠΌΠ΅ ΠΊΠΎΠΏΡΠΈΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΎΠΊΠ΅Π½ Π²ΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅:
- ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΡΠΎΠΊΠ΅Π½ ls11sw2016;
- ΠΎΠ±Π»Π°ΠΊ ΡΠΎΠΊΠ΅Π½ ls11cloud;
- Π΄ΡΡΠ³ ΡΠΎΠΊΠ΅Π½ PKCS11#11.
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΡΠΎΠΊΠ΅Π½ Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½. ΠΠΊΠΎ Π½Π΅ Π΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ, ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ±Π°ΡΠ°Π½ΠΎ Π΄Π° Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅. ΠΠ° ΡΠ΅ ββΠΏΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π½Π° ΡΠΎΠ°
ΠΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈΠΎΡ ΡΠΎΠΊΠ΅Π½ Π΅ ΡΠ°Π·Π²ΠΈΠ΅Π½ Π²ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎΡΡ ΡΠΎ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ Π½Π° PKCS#11 v.2.40 ΠΈ TK-26. ΠΠ° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠΎΠΊΠ΅Π½ΠΎΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ, ΡΠ°ΠΌΠΎ ΠΊΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΏΡΠ΅ΡΠΎ βΠΠ° ΡΠΎΠΊΠ΅Π½ΠΎΡ ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ°β Π²ΠΎ Π³Π»Π°Π²Π½ΠΎΡΠΎ ΠΌΠ΅Π½ΠΈ (βΠ€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎβ). ΠΠ΅Π½Π΅Ρ, Π½ΠΈΡΡ Π΅Π΄Π΅Π½ Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΡΠΎΠΊΠ΅Π½ ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΡΡΠΊΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ° ΡΠ° Π½Π΅ΠΌΠ° ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ:
Π‘Π΅ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ: - ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π»ΠΈΡΠ΅Π½ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π° ΡΠΎΠΊΠ΅Π½. ΠΠΎΡΡΠΎΡΠ°Ρ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΈ. ΠΡΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡΠ° Π΅ Π΄Π° Π³ΠΎ ΡΠ²Π΅Π·Π΅ΡΠ΅ ΡΠ°ΠΌΠΈΠΎΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΠΏΠ°Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ PKCS#12 (ΠΊΠΎΠΏΡΠ΅ΡΠΎ βΠ Π°Π±ΠΎΡΠ° ΡΠΎ PKCS12/PFXβ):
ΠΡΠΎΡΠ°ΡΠ° ΠΎΠΏΡΠΈΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π±Π°ΡΠ°ΡΠ΅ (PKCS#10) Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.ΠΠ²Π°Π° ΠΎΠΏΡΠΈΡΠ° (ΡΡΠ½ΠΊΡΠΈΡΠ°
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π·Π°ΡΡΠ²Π°ΡΠ΅ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠ»Π΅Ρ Π΄ΡΠ°ΡΠ²ΠΎΠ²ΠΈ ΠΈ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π°
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π·Π°ΡΡΠ²Π°Π½ΠΈ Π½Π° ΡΠΎΠΊΠ΅Π½ΠΎΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° ΠΊΠ°ΡΡΠΈΡΠΊΠ°ΡΠ°
ΠΠΎ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠΎ ΡΠΎΠΊΠ΅Π½ Π½Π° ΠΎΠ±Π»Π°ΠΊ. Π ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΎΡΡΠ°Π½ΡΠ²Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎ. ΠΠ°Π»ΠΈ Π΅ ΠΎΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ?
ΠΠΆΡΡΠΈΡΠ°Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠ°ΡΠ° cryptoarmpkcs-A Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ ΠΎΠ²Π΄Π΅:
Π.Π‘. ΠΠ°ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ
ΠΠ° Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ° Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠΊΠΈ ΠΎΠ΄
Π‘ΠΎ Π΄ΠΎΠ°ΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π° ΠΊΠΎΠΏΡΠ΅, ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½.
ΠΠ° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠΏΡΠ΅, ΡΠ°ΠΌΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ Π³ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² ΠΊΠΎΠ΄ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠΎ ΠΊΠΎΡΠΊΠΈ ΠΏΠΎ Π»ΠΈΠ½ΠΈΡΠ°ΡΠ° 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