ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид Π”ΠΎΡ˜Π΄Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° сС користи криптографски PKCS#1 ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ1 ΠΈ Π½Π° Android ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. НСкои ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅Ρ‡Π°Ρ‚ Π΄Π΅ΠΊΠ° Π½Π΅ΠΌΠ° хардвСрски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π·Π° Андроид. Но, Π°ΠΊΠΎ Π΅ Ρ‚Π°ΠΊΠ°, Ρ‚ΠΎΠ³Π°Ρˆ ΠΎΠ²Π° Π΅ само ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ Ρ„Π΅Π½ΠΎΠΌΠ΅Π½. Но, дСнСс ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ставитС софтвСрски Ρ‚ΠΎΠΊΠ΅Π½ ΠΈΠ»ΠΈ Π΄Π° користитС ΠΎΠ±Π»Π°ΠΊ Ρ‚ΠΎΠΊΠ΅Π½. Од ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈΡ‚Π΅ услуги криптоармпкцс-А Π΅ Ρ€Π°Π·Π²ΠΈΠ΅Π½ Π·Π° Android ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Androwish Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π·Π° ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅ Tcl/Tk, Π° ΠΏΠΎΡ‚ΠΎΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ сС користи Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ TclPKCS11 Π²Π΅Ρ€Π·ΠΈΡ˜Π° 1.0.1.

Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, Π½Π΅ бСшС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚. Π‘Γ¨ ΡˆΡ‚ΠΎ бСшС Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ бСшС Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ скрипта Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π·Π° Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ напишана Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π‘ΠΈ, Π·Π° Android ΠΈ самата Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Π‘Π΅ΡˆΠ΅ ΠΎΠ΄Π»ΡƒΡ‡Π΅Π½ΠΎ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π°Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ со софтвСрски ls11sw2016 ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊ ls11cloud Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π½Π° истиот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π‘Γ¨ Π΄Ρ€ΡƒΠ³ΠΎ Π΅ Сдноставно. Π”ΠΎΠ΄Π°Π²Π°ΠΌΠ΅ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚ΠΎΠΊΠ΅Π½ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅:

  • софтвСрски Ρ‚ΠΎΠΊΠ΅Π½ ls11sw2016;
  • ΠΎΠ±Π»Π°ΠΊ Ρ‚ΠΎΠΊΠ΅Π½ ls11cloud;
  • Π΄Ρ€ΡƒΠ³ Ρ‚ΠΎΠΊΠ΅Π½ PKCS11#11.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ, софтвСрски Ρ‚ΠΎΠΊΠ΅Π½ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½. Ако Π½Π΅ Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ±Π°Ρ€Π°Π½ΠΎ Π΄Π° Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅. Π”Π° сС ​​потсСтимС Π½Π° Ρ‚ΠΎΠ° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ сС состои ΠΎΠ΄ Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ·Π½Π°ΠΊΠ° ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° кориснички ПИН-ΠΊΠΎΠ΄:

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° софтвСрскиот Ρ‚ΠΎΠΊΠ΅Π½ Π΅ Ρ€Π°Π·Π²ΠΈΠ΅Π½ Π²ΠΎ согласност со ΠΏΡ€Π΅ΠΏΠΎΡ€Π°ΠΊΠΈΡ‚Π΅ Π½Π° PKCS#11 v.2.40 ΠΈ TK-26. Π—Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ цСлосни ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΡ‚, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ΠΈ криптографски ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, само ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ β€žΠ—Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΡ‚ ΠΈ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π°β€œ Π²ΠΎ Π³Π»Π°Π²Π½ΠΎΡ‚ΠΎ ΠΌΠ΅Π½ΠΈ (β€žΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎβ€œ). ДСнСс, Π½ΠΈΡ‚Ρƒ Π΅Π΄Π΅Π½ хардвСрски Ρ‚ΠΎΠΊΠ΅Π½ ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° руска ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π° ја Π½Π΅ΠΌΠ° ΠΎΠ²Π°Π° функционалност:

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π‘Π΅ поставува ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ: - ΠΊΠ°ΠΊΠΎ Π΄Π° инсталиратС Π»ΠΈΡ‡Π΅Π½ сСртификат Π½Π° Ρ‚ΠΎΠΊΠ΅Π½. ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π΄Π²Π΅ ΠΎΠΏΡ†ΠΈΠΈ. ΠŸΡ€Π²Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π΅ Π΄Π° Π³ΠΎ ΡƒΠ²Π΅Π·Π΅Ρ‚Π΅ самиот сСртификат ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΠ°Ρ€ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΏΡ€Π΅ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ PKCS#12 (ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ β€žΠ Π°Π±ΠΎΡ‚Π° со PKCS12/PFXβ€œ):

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π±Π°Ρ€Π°ΡšΠ΅ (PKCS#10) Π·Π° сСртификат.Оваа ΠΎΠΏΡ†ΠΈΡ˜Π° (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° β€žΠ‘Π°Ρ€Π°ΡšΠ΅ Π·Π° ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚β€œ) ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΡƒΠ²Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΠ°Ρ€ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΡ‚:

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π·Π°Ρ‡ΡƒΠ²Π°Ρ‚Π΅ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π»Π΅Ρˆ Π΄Ρ€Π°Ρ˜Π²ΠΎΠ²ΠΈ ΠΈ Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° Ρ†Π΅Π½Ρ‚Π°Ρ€ Π·Π° ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° сСртификат. Ако Π³ΠΎ користитС сСртификатот Π·Π° тСст Ρ†Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја користитС ΠΈ Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° издавањС сСртификат CAFL63. Π”ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ‚ сСртификат сС ΡƒΠ²Π΅Π·ΡƒΠ²Π° Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΡ‚ Π²ΠΎ Ρ‚Π°Π±ΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΎΡ‚ β€žΠŸΡ€ΠΈΠΊΠ°ΠΆΠΈ Π±Π°Ρ€Π°ΡšΠ΅/ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚β€œ:

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΡ‚ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ со сСртификати Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΡ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠ°Ρ‚Π° β€žΠŸΠΎΡ‚ΠΏΠΈΡˆΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚β€œ.

Π’ΠΎ слСдната ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ќС Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅Ρ‚Π΅ со Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° ΠΎΠ±Π»Π°ΠΊ. И ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€Π΅Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ сСртификати Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° останува ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎ. Π”Π°Π»ΠΈ Π΅ ΠΎΠ²Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ?

АТурираната Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° cryptoarmpkcs-A Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅ ΠΎΠ²Π΄Π΅:

П.Π‘. Π—Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚

Π—Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚, користСтС ја Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° Π·Π° коски ΠΎΠ΄ AndroWish SDK. ΠžΡ‚ΠΊΠ°ΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½, сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ β€žΠ˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Ρ˜ ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜β€œ ΠΈ ΠΊΠΎΠ³Π° ќС сС ΠΊΠ»ΠΈΠΊΠ½Π΅, сС ΠΎΡ‚Π²ΠΎΡ€Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† Π·Π° Π΄Π½Π΅Π²Π½ΠΈΠΊ ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ ΠΎΠ΄ adb logcat (Android Debug Bridge logger). НСгативната страна Π½Π° овој Π΅ΠΊΡ€Π°Π½ Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС ΠΏΡ€ΠΎΠ½Π°Ρ˜Π΄Π΅ ΠΏΠΎΡ€Π°ΠΊΠ°Ρ‚Π° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ°, особСно со Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ Π·Π½Π°ΠΌΠ΅Π½Ρ†Π΅Ρ‚ΠΎ β€žVβ€œ (ΠΎΠ±Ρ˜Π°ΡΠ½Π΅Ρ‚ΠΎ). Π—Π°Ρ‚ΠΎΠ°, Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ ΠΊΠΎΠΏΡ‡Π΅ β€žΠ—Π°Ρ‡ΡƒΠ²Π°Ρ˜β€œ, ΠΊΠΎΠ΅ Π³ΠΎ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ‚ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° /tmp/logBone.txt (Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Linux):

ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° криптографски Ρ‚ΠΎΠΊΠ΅Π½ΠΈ PKCS#11 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Андроид

Π‘ΠΎ Π΄ΠΎΠ°Ρ“Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ²Π° ΠΊΠΎΠΏΡ‡Π΅, процСсот Π½Π° Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ поСдноставСн.

Π—Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΏΡ‡Π΅, само Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π³ΠΎ слСдниов ΠΊΠΎΠ΄ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° со коски ΠΏΠΎ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€