Keychain API в iOS
Всем привет!
Не так давно столкнулся с необходимостью использования Keychain-а для обеспечения дополнительной защиты при входе в приложение.
Я нашел много хороших статей по этой теме, но в основном там описываются сторонние фреймворки, упрощающие жизнь, а было интересно посмотреть, как работать с API напрямую. В этой статье я попытался объединить документацию Apple с практикой на простом примере.
Keychain — зашифрованная база данных, куда сохраняются небольшие объемы пользовательской информации (см. документацию Apple).
Общая схема работы продемонстрирована на рисунке.
Keychain API Services в свои очередь являются часть фреймворка Security, но его рассмотрение требует отдельной статьи.
let keychainItemQuery = [ kSecValueData: pass.data(using: .utf8)!, kSecClass: kSecClassGenericPassword ] as CFDictionary let status = SecItemAdd(keychainItemQuery, nil) print("Operation finished with status: (status)")
Выше приведен пример сохранения пароля в Keychain. Читать дальше →
Не так давно столкнулся с необходимостью использования Keychain-а для обеспечения дополнительной защиты при входе в приложение.
Я нашел много хороших статей по этой теме, но в основном там описываются сторонние фреймворки, упрощающие жизнь, а было интересно посмотреть, как работать с API напрямую. В этой статье я попытался объединить документацию Apple с практикой на простом примере.
Начнем с небольших определений
Keychain — зашифрованная база данных, куда сохраняются небольшие объемы пользовательской информации (см. документацию Apple).
Общая схема работы продемонстрирована на рисунке.
Keychain API Services в свои очередь являются часть фреймворка Security, но его рассмотрение требует отдельной статьи.
Добавление элемента
let keychainItemQuery = [ kSecValueData: pass.data(using: .utf8)!, kSecClass: kSecClassGenericPassword ] as CFDictionary let status = SecItemAdd(keychainItemQuery, nil) print("Operation finished with status: (status)")
Выше приведен пример сохранения пароля в Keychain. Читать дальше →
Источник: Хабрахабр
Похожие новости
- Прогноз результатов продвижения сайта для зарубежного рынка при помощи инструмента Ahrefs
- Минус 26 млн рублей: как изменится доход блогеров-иноагентов
- Избирательный стилер: SapphireStealer маскировался под листовку ЦИК о выборах президента
- Объем рынка маркетинговых услуг в 2023 году
- Хостинг-провайдеров России обязали подключиться к СОРМ до июня 2024 года
- Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации»
- Spark_news: Факультет компьютерных наук ВШЭ и Яндекс расширят сотрудничество в сфере подготовки специалистов по ИИ
- Privacy Manifest: что нужно о нём знать для внедрения в проект
- bit kogan: В продолжение вчерашнего разговора про бесконтрольно растущий долг США…
- Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go