web-dev-qa-db-fra.com

Réinitialiser le trousseau sur l'appareil

Je teste le flux de connexion (en utilisant KeychainItemWrapper) dans mon application sur un appareil. Comment réinitialiser/supprimer le trousseau de clés de mon application?

Sur le simulateur, je le fais en cliquant sur iOS Simulator -> Réinitialiser le contenu et les paramètres ....

41
syntagma

Les éléments de trousseau sont dans le bac à sable iOS, les utilisateurs n'ont pas accès pour supprimer l'élément de trousseau indésirable. Ceux-ci sont accessibles uniquement via les API.

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

// ou comment accéder à votre trousseau

[keychainItem resetKeychainItem];

ou vous pouvez réinitialiser votre appareil >> à partir des paramètres de l'appareil, Général, Réinitialiser, Réinitialiser tous les paramètres. Mais, il réinitialisera le trousseau pour chaque application installée sur l'appareil.

12
Will
  • Téléchargez et ajoutez keychainWrapper de ici dans votre projet.
  • Écrivez le code suivant dans le viewController que vous souhaitez réinitialiser le trousseau.

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

}
1
Khalid Usman

vous pouvez vider les données du trousseau à l'aide du dumper de trousseau. Prenez le lien suivant https://github.com/ptoomey3/Keychain-Dumper

Accédez simplement à cette URL et téléchargez le fichier Zip et décompressez-le. Dans ce dossier, le seul fichier qui nous intéresse est le binaire keychain_dumper. Les informations auxquelles une application du trousseau peut accéder sont spécifiées dans ses droits. Ce binaire est signé avec un certificat auto-signé avec des droits génériques et il est donc capable d'accéder à tous les éléments du trousseau. Il aurait également pu y avoir d'autres moyens de s'assurer que toutes les informations du trousseau sont accordées, comme le fait que le fichier des droits contienne tous les groupes d'accès au trousseau ou en utilisant un groupe d'accès au trousseau spécifique qui donne accès à toutes les données du trousseau. Par exemple, un outil Keychain-viewer utilise les droits suivants.

com.Apple.keystore.access-keychain-keys

com.Apple.keystore.device

1) Téléchargez simplement ce binaire dans votre appareil dans le dossier/tmp et assurez-vous qu'il est exécutable.

2) Assurez-vous maintenant que le fichier de la base de données du trousseau stocké à l'emplacement /private/var/Keychains/keychain-2.db est lisible par tout le monde.

3) allez maintenant au terminal et vous pouvez vider vos données en passant la commande

.keychain_dumper

4) la commande ci-dessus répertorie tous les nom d'utilisateur et mot de passe. mais ci-dessus ne supprimera que les mots de passe génériques et Internet. Vous pouvez voir les informations d'utilisation en utilisant la commande "-h".

5) Vous pouvez vider toutes les informations en utilisant la commande "-a".

Vous pouvez lire plus d'informations et d'exemples ici vidage des données du troussea

1
Nik