Я тестирую входной поток (используя KeychainItemWrapper
) внутри своего приложения на устройстве. Как reset/удалить брелок для моего приложения?
На симуляторе я делаю это, нажимая на iOS Simulator → Reset Содержимое и настройки....
Я тестирую входной поток (используя KeychainItemWrapper
) внутри своего приложения на устройстве. Как reset/удалить брелок для моего приложения?
На симуляторе я делаю это, нажимая на iOS Simulator → Reset Содержимое и настройки....
Элементы связки ключей находятся в изолированной программной среде iOS, пользователи не имеют доступа к удалению нежелательной статьи с цепочкой. Они доступны только через API.
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:[[NSBundle mainBundle] bundleIdentifier] accessGroup:nil];
//или как вы получаете доступ к вашей цепочке ключей
[keychainItem resetKeychainItem];
или вы можете reset ваше устройство → с устройства Настройки, Общие, Reset, reset Все настройки. Но для каждого приложения, установленного на устройстве, будет reset брелок для ключей.
вы можете сбросить данные связки ключей с помощью самосвалов Keychain. Возьмите следующую ссылку https://github.com/ptoomey3/Keychain-Dumper
Просто зайдите на этот URL-адрес и загрузите zip файл и разархивируйте его. Внутри этой папки единственным интересующим нас файлом является двоичный файл keychain_dumper. Информация, доступная для приложения в цепочке ключей, указывается в ее правах. Этот двоичный файл подписывается с самозаверяющим сертификатом с полномочиями подстановочных знаков и, следовательно, имеет доступ к всем элементам связки ключей. Также могут быть другие способы удостовериться, что предоставлена вся информация о связке ключей, например, если файл прав содержит все группы доступа к цепочке ключей или использует определенную группу доступа к цепочке ключей, которая обеспечивает доступ ко всем данным о цепочке ключей. Например, инструмент Keychain-viewer использует следующие разрешения.
com.apple.keystore.access-брелок-ключи
com.apple.keystore.device
1) Просто загрузите этот двоичный файл на свое устройство в папку /tmp и убедитесь, что его исполняемый файл.
2) Теперь убедитесь, что файл базы данных keychain, хранящийся в местоположении /private/var/Keychains/keychain -2.db, доступен для чтения в мире.
3) теперь перейдите к терминалу, и вы можете сбросить свои данные, передав команду
.keychain_dumper
4) выше команда будет перечислять все имя пользователя и пароль. но выше будет только сбрасывать общие и интернет-пароли. Вы можете просмотреть информацию об использовании с помощью команды "-h".
5) Вы можете сбросить всю информацию с помощью команды "-a".
Вы можете прочитать дополнительную информацию и пример здесь демпинговые данные связки ключей
CODE:
#import "KeychainItemWrapper.h"
@interface YourViewController ()
{
KeychainItemWrapper *keychainItemWrapper;
}
- (void)viewDidLoad {
[super viewDidLoad];
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"appname" accessGroup:nil];
}
- (IBAction)logoutButtonPressed:(id)sender {
[keychainItemWrapper resetKeychainItem];
}