重置设备上的钥匙串

2020/12/16 19:41 · ios ·  · 0评论

我正在测试KeychainItemWrapper设备上应用程序内部的登录流程(使用)。如何为我的应用重置/删除钥匙串?

在模拟器,我做它通过点击iPhone模拟器- >重置内容和设置...

钥匙串项目位于iOS沙箱中,用户无权删除不需要的钥匙串项目。这些只能通过API访问。

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

//或访问钥匙串的方式

[keychainItem resetKeychainItem];

或者您可以从设备设置,常规,重置,重置所有设置中重置设备>>。但是,它将重置设备上安装的每个应用程序的钥匙串。

您可以使用“钥匙串转储器”转储钥匙串数据。抓住以下链接
https://github.com/ptoomey3/Keychain-Dumper

只需转到该URL并下载zip文件并解压缩即可。在此文件夹中,我们唯一感兴趣的文件是keychain_dumper二进制文件。在其权限中指定了钥匙串中的应用程序允许访问的信息。该二进制文件使用具有通配符权利的自签名证书进行了签名,因此可以访问所有钥匙串项。还可能有其他方法来确保授予所有钥匙串信息,例如使权利文件包含所有钥匙串访问组,或使用提供对所有钥匙串数据的访问的特定钥匙串访问组。例如,一个工具Keychain-viewer使用以下观点。

com.apple.keystore.access-keychain-keys

com.apple.keystore.device

1)只需将此二进制文件上传到/ tmp文件夹中的设备中,并确保其可执行文件即可。

2)现在,确保存储在/private/var/Keychains/keychain-2.db位置的钥匙串数据库文件是世界可读的。

3)现在转到终端,您可以通过传递命令来转储数据

.keychain_dumper

4)上面的命令将列出所有的用户名和密码。但以上只会丢弃通用密码和互联网密码。您可以使用“ -h”命令来查看用法信息。

5)您可以使用“ -a”命令转储所有信息。

您可以在此处阅读更多信息和示例,以 转储钥匙串数据

  • 此处下载keychainWrapper并将其添加到您的项目中。
  • 在要重置钥匙串的viewController中编写以下代码。

码:

#import "KeychainItemWrapper.h"

@interface YourViewController ()
{
    KeychainItemWrapper *keychainItemWrapper;
}

- (void)viewDidLoad {

    [super viewDidLoad];

    keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"appname" accessGroup:nil];

}

- (IBAction)logoutButtonPressed:(id)sender {

    [keychainItemWrapper resetKeychainItem];

}
本文地址:http://ios.askforanswer.com/zhongzhishebeishangdeyaoshichuan.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!