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