问题标签 [keychainitemwrapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
678 浏览

ios - KeychainItemWrapper 迁移数据抛出错误

我正在使用 ARCifiedKeychainItemWrapper并且无法将一个钥匙串项目中的数据迁移到另一个项目。基本上我正在尝试将内容从应用程序特定项目复制到共享项目。为简洁起见,我只输入了用户名,因为它在那里失败了。

它死于KeychainItemWrapper方法writeToKeychain抛出NSAssert( result == noErr, @"Couldn't update the Keychain Item." );

在Keychain Services Reference中查找错误告诉我

errSecDuplicateItem –25299 项目已存在。

我可以通过硬编码/更改字符串来确认这个问题,并且代码运行良好,但我正在尝试迁移数据......所以相同很重要。问题是,为什么当它是 2 个不同的钥匙串项目时会引发错误,我到底如何让它按需要工作?

0 投票
2 回答
1427 浏览

iphone - 关于 ios KeychainItemWrapper 存储用户名/密码而不是对象

我知道保存用户名/密码使用下面的 KeychainItemWrapper 类方法,但我想要在 KeychainItemWrapper 中添加一个额外的 [ipTF text]。怎么做?

0 投票
1 回答
3993 浏览

ios - iOS 钥匙串中的帐户名称 (kSecAttrAccount) 是否加密?

Apple 的GenericKeychain示例将用户名和密码保存在 iOS 钥匙串中。它使用kSecAttrAccount用户名和kSecValueData密码来执行此操作。

放置在钥匙串中的所有数据项是否都加密了,所以kSecAttrAccount在这个例子中包括 /username?

我问是因为我不想暴露帐户名。

0 投票
1 回答
2661 浏览

ios - SecItemAdd 返回 OSStatus 代码 -50

我正在尝试在 iOS 中写入钥匙串,并且每当我在设备上进行测试时尝试写入钥匙串时,我都会收到 -50 错误代码作为 SecItemAdd 的结果。

我首先尝试自己实现这样的机制,在多次报错后,我尝试了 KeychainItemWrapper,以为我做错了什么。但是使用 KeychainItemWrapper 也给了我相同的错误代码:(KeychainItemWrapper 的 ARCified 版本,https ://gist.github.com/dhoerl/1170641 )

line 305: NSAssert( result == noErr, @"Couldn't add the Keychain Item." );

结果是-50,与我自己尝试时得到的结果相同。这是我使用包装器的方式(访问组是我的应用程序 ID)

我首先认为可能设置一个可变数组会是一个问题,但尝试一个字符串也以同样的方式失败。问题的原因可能是什么?

谢谢,坎。

0 投票
1 回答
3110 浏览

ios - 使用 KeychainItemWrapper 中保存的凭据自动登录

我正在使用 aKeychainItemWrapper来保存登录凭据,这个功能对我来说很好,但是我在使用这些存储的凭据时遇到了一些问题。

我的第一个视图总是登录视图;第一次在文本字段中显示没有凭据,其余时间在文本字段中显示凭据。我可以做些什么来检查存储在钥匙串中的用户名和密码并自动转到主应用程序菜单?我知道我想要的是一种自动登录,即应用程序的典型行为。如果您需要有关项目任何部分的更多信息,请告诉我。

PS。在以下代码行中,isUserLogged 始终返回 FALSE。

AppDelegate有:

LoginViewController

0 投票
0 回答
623 浏览

ios - 释放 keyChainItemWrapper 时应用程序崩溃

我在我的应用程序中有一个视图,它显示了一个加载到字段中的表单(电子邮件、名字、姓氏、出生日期)、钥匙串中的相应数据允许用户更改它等等。当有已经存储在钥匙串中的详细信息,但是如果什么都没有(当应用程序第一次运行时),当我去释放钥匙串时它会崩溃。为了节省内存泄漏,我想看看是否有更好的处理方式。我使用苹果的 KeychainItemWrapper 并且我的项目不使用 ARC。

这是我的代码

0 投票
1 回答
971 浏览

ios - iOS:无法使用 KeychainItemWrapper 将项目添加到钥匙串

首先:我知道关于 KeychainItemWrapper 已经发布了其他问题。我全部阅读了它们,但我没有成功完成一项非常简单的任务:在钥匙串中存储一个值(在设备上,而不是模拟器上)。我总是遇到断言失败,“无法添加钥匙串项”。

这是我的代码,我想获得一个 uuid,如果不存在,则创建并存储一个:

我就是想不通。

0 投票
0 回答
1212 浏览

iphone - 保存值后更改 KeychainItemWrapper 中的 KSecAttrAccessible

在我以前版本的应用程序(iPhone)中,我在以下代码中的钥匙串中保留了值(密码):

并在以下代码中获取值:

因为有时我的应用程序在后台运行,我发现了一个错误,我无法从钥匙串中获得我的价值。

我通过将 kSecAttrAccessible 的值从 kSecAttrAccessibleWhenUnlocked 更改为 kSecAttrAccessibleAlways 来修复该错误。

和:

我的问题是:如果此更改也有助于用户保存以前版本中的值。

我的bug很难恢复,所以我问这个问题。现在我无法在此更改后恢复错误。

谢谢

0 投票
2 回答
5988 浏览

ios - 如何从 iOS 钥匙串中删除 KeyChainItemData 和 genericPasswordQuery 项

我的钥匙串一直有一些问题,我想主要是因为我第一次开始使用它时不知道它是如何工作的,我尝试了几种在我的钥匙串中添加数据和字符串密码等的变体,我认为当我删除应用程序时从我的设备它会清除钥匙串...我现在知道钥匙串不是这样工作的,所以希望我能得到一些帮助来清理我钥匙串中的垃圾。

问题是我现在正试图将一些信息传递给我的钥匙串,但收到以下错误

当我尝试将一些信息传递到我声明的 keychainwrapper 中时,会发生此错误,如下面的代码所示。

我认为代码实际上很好,因为我认为我的钥匙串中的当前垃圾阻止我正确地将新项目添加到钥匙串中。我像这样实现包装器

我可以在我的调试区域看到这一点。

在此处输入图像描述

如您所见, KeyChainItemDatagenericPasswordQuery已经在我的钥匙串中,有 6 - 5 个对象?!诡异的。从那以后,我尝试使用以下代码清除我的钥匙串...

唯一的问题是这对我没有任何帮助。所以我想知道我可能需要做什么才能删除这些似乎在我的钥匙串中的KeyChainItemDatagenericPasswordQuery条目,这些条目阻止我添加正确的条目。

任何帮助将不胜感激。

更新:因此,当我声明 KeychainItemWrapper 时进行进一步研究时,所有这些值都显示在我的调试区域中,但是在没有对其进行任何钥匙串开发的不同设备上尝试相同的代码后,它仍然显示相同价值观。所以我认为它不在设备上,它必须是别的东西......希望这是有道理的......我将继续努力寻找解决方案。

0 投票
1 回答
93 浏览

ruby - ruby motion KeychainItemWrapper 设置额外属性

我有现有的 KSecValueData 和 KSecAttrAccount

但是当我试图定义一个新的 1

它给了我未定义的局部变量,我查看了文档,我认为 kSecAttrLabel 被初始化为默认值,以便我们可以随时使用它/?还有什么可以用的??

谢谢...

http://developer.apple.com/library/ios/#documentation/Security/Reference/keychainservices/Reference/reference.html