Подтвердить что ты не робот

Reset брелок на устройстве

Я тестирую входной поток (используя KeychainItemWrapper) внутри своего приложения на устройстве. Как reset/удалить брелок для моего приложения?

На симуляторе я делаю это, нажимая на iOS Simulator → Reset Содержимое и настройки....

4b9b3361

Ответ 1

Элементы связки ключей находятся в изолированной программной среде iOS, пользователи не имеют доступа к удалению нежелательной статьи с цепочкой. Они доступны только через API.

KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:[[NSBundle mainBundle] bundleIdentifier] accessGroup:nil]; 

//или как вы получаете доступ к вашей цепочке ключей

    [keychainItem resetKeychainItem];

или вы можете reset ваше устройство → с устройства Настройки, Общие, Reset, reset Все настройки. Но для каждого приложения, установленного на устройстве, будет reset брелок для ключей.

Ответ 2

вы можете сбросить данные связки ключей с помощью самосвалов 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".

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

Ответ 3

  • Загрузите и добавьте keychainWrapper из здесь в свой проект.
  • Введите следующий код в viewController, который вы хотите reset брелок.

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];

}