首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSKeyChain:如何锁定这个钥匙链?

SSKeyChain:如何锁定这个钥匙链?
EN

Stack Overflow用户
提问于 2013-05-08 00:49:45
回答 1查看 1.6K关注 0票数 1

我的可可应用程序将有以下功能: 1。密码保护登录。用户将必须输入密码才能使用应用程序2。一旦登录,用户可以创建一些个人配置文件,其中配置文件可以存储一些安全信息,如密码。

经过一些研究,我被告知我应该使用KeyChain来保存安全信息(在我的例子中,登录密码和每个个人资料中的安全信息)。

似乎有一个很好的KeyChain包装器SSKeyChain可以用来实现我的目标(因为我不太熟悉c语言,所以使用苹果的钥匙链对我来说很难),我还找到了一些使用SSKeyChain iOS: How to store username/password within an app?的示例

代码语言:javascript
复制
To save a password:

[SSKeychain setPassword:@"AnyPassword" forService:@"AnyService" account:@"AnyUser"]
To retrieve a password:

NSString *password = [SSKeychain passwordForService:@"AnyService" account:@"AnyUser"];

然而,我不确定是否需要“保护”我的密钥链: 1.当调用setPassword:forService:account:我应该包括一个明文密码吗?或者我需要先加密我的密码?另外,当设置服务名称时,我是否应该简单地包括我的应用程序名称2.如果密码可以通过使用passwordForService: easily检索到,那么它似乎不安全?因为其他应用程序也可以调用相同的方法来检索密钥链?(前提是他们知道服务名称和帐户)

我读过苹果的文档:https://developer.apple.com/library/mac/#documentation/security/conceptual/keychainServConcepts/02concepts/concepts.html#//apple_ref/doc/uid/TP30000897-CH204-TP9

似乎你必须“锁定”和“解锁”这个钥匙链。我已经检查了SSKeyChain文档http://docs.samsoff.es/SSKeychain/Classes/SSKeychain.html,但是找不到任何方法来“锁定”和“解锁”这样的密钥链。那么我该如何保护它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 02:06:34

默认情况下,系统中的密钥链服务限制每个应用程序只能访问它自己的密钥链项目。锁定和解锁都是在Keychain Services的幕后处理的。

当您使用Xcode创建应用程序时,Xcode会向应用程序包添加一个应用程序标识符权利。密钥链服务使用此授权授予应用程序对其自己的密钥链项目的访问权限。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16424462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档