ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ AndroidΠ‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния PKCS#11 интСрфСйса, использованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π΅ отличаСтся ΠΎΡ‚ использования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°. Для использования Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (Π° Ρƒ нас ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΈ собствСнно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½. Для ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ самоС β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π’ качСствС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ выступаСт Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прописываСтся адрСс ΠΎΠ±Π»Π°ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса криптографичСского Ρ‚ΠΎΠΊΠ΅Π½Π°

Π˜Ρ‚Π°ΠΊ, скачиваСм ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ cryptoarmpkcs-A. УстанавливаСм ΠΈ запускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² основноС мСню. Для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½, криптографичСскиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ задСйствованы (Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с PKCS12 Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½):

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Если Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΎΠΊΠ΅Π½Β», Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ PKCS#11 для вашСго Ρ‚ΠΎΠΊΠ΅Π½Π°. Π’ Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях выдаСтся информация ΠΎ статусС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°. Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. БСгодня нас интСрСсуСт ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½.

РСгистрация ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄Ρƒ Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π’ΠΎΠΊΠ΅Π½ΠΎΠ² PKCS#11Β», Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°Β» ΠΈ скачиваСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ LS11CloudToken-A:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

УстанавливаСм скачСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ запускаСм Π΅Π³ΠΎ:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

ПослС заполнСния ΠΏΠΎΠ»Π΅ΠΉ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «РСгистрация Π² ΠΎΠ±Π»Π°ΠΊΠ΅Β» ΠΈ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡΒ» начинаСтся процСсс рСгистрации Ρ‚ΠΎΠΊΠ΅Π½Π° Π² ΠΎΠ±Π»Π°ΠΊΠ΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡ рСгистрации Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя созданиС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ заполнСния Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° случайных чисСл (НЗДБЧ). НЗДБЧ для добавлСния «биологичСской» случайности ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π΄Π΅ΡΡŒ учитываСтся ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° символа, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π°:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

ПослС рСгистрации Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус Ρ‚ΠΎΠΊΠ΅Π½Π° Π² ΠΎΠ±Π»Π°ΠΊΠ΅:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ рСгистрации Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· прилоТСния LS11CloudToken-A возвращаСмся Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ cryptoarmpkcs-A ΠΈ Π΅Ρ‰Π΅ Ρ€Π°Π· провСряСм статус ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ наш собствСнный ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°

Π­Ρ‚Π° инициализация Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°.

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

А дальшС всС ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠ»Π°Π΄Π΅ΠΌ Π»ΠΈΡ‡Π½Ρ‹ΠΉ сСртификат, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° PKCS12, Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ для подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос Π½Π° сСртификат (Π²ΠΊΠ»Π°Π΄ΠΊΠ° «Запрос Π½Π° сСртификат»):

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

Π‘ созданным запросом ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π½Ρ‚Ρ€, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ сСртификат ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½:

ИспользованиС ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ российской ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ