0. IgorKissil 285 09.09.19 16:43 Сейчас в теме

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

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

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

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

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

планируете ли обновлять компоненту?
2. IgorKissil 285 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 285 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 285 15.02.20 19:51 Сейчас в теме
(6) Тот же результат. Любое обращение к "ДополнительнаяПроверкаПользователя" приводит к падению приложенния. Мобильная платформа последняя 8.3.15.86. Так что разработка пока актуальна.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Разработчик 1С
Санкт-Петербург
зарплата от 140 000 руб.
Полный день

Консультант-аналитик 1С
Санкт-Петербург
зарплата от 90 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день