Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

0. IgorKissil 286 09.09.19 16:43 Сейчас в теме
Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. McLer 107 12.11.19 10:06 Сейчас в теме
На iOS нет такой?

Начиная с 23й версии, Андроид имеет другой набор классов для использования сканера отпечатка - fingerprint.

планируете ли обновлять компоненту?
2. IgorKissil 286 13.11.19 08:02 Сейчас в теме
(1)
На iOS нет такой?

На iOS пока нет
(1)
планируете ли обновлять компоненту?

Непонятно про обновление. Если Вы прочитали, компонента, использующая fingerprint у меня есть. Она отдельная с этой никак не связана. Выкладывать в общий доступ не планирую.
4. vsesam80 07.02.20 21:42 Сейчас в теме
(2)
&НаКлиенте 
перем  КлючПароля Экспорт ;
//модуль формы
&НаКлиенте
Процедура Зашифровать(Команда)
    #Если МобильноеПриложениеКлиент Тогда
        ПоддерживаетсяЗащитаДоступа = БезопасноеХранилище.ПоддерживаетсяЗащитаДоступа(СпособЗащитыДоступаБезопасногоХранилища.Нет);
        Если ПоддерживаетсяЗащитаДоступа Тогда
            ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПомещенияБХ", ЭтотОбъект);
            КлючПароля = Строка(Новый УникальныйИдентификатор); // здесь можно любую строку передать
            БезопасноеХранилище.НачатьПомещениеДанных(КлючПароля, "Ключ у прораба!", СпособЗащитыДоступаБезопасногоХранилища.ТребуетсяДополнительнаяПроверкаПользователя,СпособДополнительнойПроверкиПользователя.БиометрическаяИлиВводПароля, ОписаниеОповещения);  
        Иначе
            Сообщить("на вашем устройстве не поддерживается работа безопасного хранилища!");
        КонецЕсли
        #КонецЕсли
КонецПроцедуры
    
&НаКлиенте
Процедура Расшифровать(Команда)
    #Если МобильноеПриложениеКлиент Тогда 
        ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
        БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения); 
    #КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПомещенияБХ(Результат, Ключ, ДополнительныеПараметры) Экспорт
а = 0;
КонецПроцедуры     


&НаКлиенте
Процедура ПолучитьПароль(КлючПароля)
#Если МобильноеПриложениеКлиент Тогда
ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения);  
#КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПолученияЗначения(Результат, Ключ, Значение, ДополнительныеПараметры) Экспорт
а= 0;
Сообщить(Значение);
КонецПроцедуры  

КлючПароля = "555"; 
Показать

Биометрии нет на телефоне, но интересно было бы проверить. А так пинкод работает
В синтаксис помощнике нет описания этой магии. Но, подсказки работают.
3. vsesam80 07.02.20 20:47 Сейчас в теме
В 15-й версии платформы 1С объявила о внедрении биометрии в мобильной платформе, но мне не удалось найти способы ее использования и узнать "идеологию" работы ни в справочной информации, ни на сайте ИТС.

Игорь, вы не про это писали?
&НаКлиенте
Процедура СохранитьПарольВБезопасноеХранилище(ПарольСтрока)
    
    #Если МобильноеПриложениеКлиент Тогда
        ПоддерживаетсяЗащитаДоступа = БезопасноеХранилище.ПоддерживаетсяЗащитаДоступа(СпособЗащитыДоступаБезопасногоХранилища.Нет);
        Если ПоддерживаетсяЗащитаДоступа Тогда
        ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершениеПомещенияБХ", ЭтотОбъект);
        КлючПароля = Строка(Новый УникальныйИдентификатор); // здесь можно любую строку передать
        БезопасноеХранилище.НачатьПомещениеДанных(КлючПароля, ПарольСтрока, СпособЗащитыДоступаБезопасногоХранилища.Нет,, ОписаниеОповещения);    
    #КонецЕсли
    
КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПомещенияБХ(Результат, Ключ, ДополнительныеПараметры) Экспорт

КонецПроцедуры


ПОЛУЧЕНИЕ:

&НаКлиенте
Процедура ПолучитьПароль(КлючПароля)

ОписаниеОповещенияЗавершения = Новый ОписаниеОповещения("ЗавершениеПолученияЗначения", ЭтотОбъект);
БезопасноеХранилище.НачатьПолучениеДанных(КлючПароля, ОписаниеОповещенияЗавершения);

КонецПроцедуры

&НаКлиенте
Процедура ЗавершениеПолученияЗначения(Результат, Ключ, Значение, ДополнительныеПараметры) Экспорт

КонецПроцедуры
Показать


Если на мобильном устройстве используется биометрическая идентификация пользователя, то узнать, какой способ используется в данный момент, можно с помощью метода ТекущийСпособБиометрическойПроверки(). Результат работы данного метода можно использовать в разных целях, например:

● Для формирования сообщения, которое передается в метод НачатьПроверку().

● Для определения, что надежность используемого способа проверки устраивает разработчика приложения.

В общем случае, пример дополнительной проверки пользователя мобильного приложения может выглядеть следующим образом:

Процедура ПроверитьПользователя()
СпособПроверки = СпособДополнительнойПроверкиПользователя.ТолькоБиометрическая;
Если Не ДополнительнаяПроверкаПользователя.ПоддерживаетсяПроверка(СпособПроверки) Тогда
Возврат;
КонецЕсли;
ТекущаяБиометрия = ДополнительнаяПроверкаПользователя.ТекущийСпособБиометрическойПроверки();
Если ТекущаяБиометрия <> СпособБиометрическойПроверки.РаспознаваниеОтпечаткаПальца Тогда
Возврат;
КонецЕсли;
Сообщение = "Отсканируйте отпечаток пальца";
Обработчик = Новый ОписаниеОповещения();
ДополнительнаяПроверкаПользователя.НачатьПроверку(СпособПроверки, Сообщение, Обработчик);
КонецПроцедуры
Процедура ОбработкаРезультатовПроверки(ОтмененоПользователем, ДополнительныеПараметры) Экспорт
Если Не ОтмененоПользователем Тогда
// пользователь подтвержден
КонецЕсли;
КонецПроцедуры
5. IgorKissil 286 07.02.20 22:02 Сейчас в теме
(3) Похоже - это оно. На момент написания статья последним был 15-й релиз и там описания большинста методов в синтаксис помошнике нет! (Проверил только что) А в 16-м добавили.
6. madonov 155 12.02.20 05:57 Сейчас в теме
(5)
Перепробовал все версии мобильного клиент 8.3.15 - не работает, вылетает клиент без каких-либо ошибок.
Сервер 8.3.15.1778.

Что интересно - конфа сохраняется без ошибок, а вот подсказки через точку при наборе кода нет. Режим совместимости не используется.
7. IgorKissil 286 15.02.20 19:51 Сейчас в теме
(6) Тот же результат. Любое обращение к "ДополнительнаяПроверкаПользователя" приводит к падению приложенния. Мобильная платформа последняя 8.3.15.86. Так что разработка пока актуальна.
Оставьте свое сообщение
Вопросы с вознаграждением