首页 文章
  • 2 votes
     answers
     views

    应用内购买 - 钥匙串访问

    我的应用程序目前使用设备的钥匙串来确定用户是否已解锁/购买应用内购买 . Buy Item -> Store item password in keychain -> Unlock feature 当应用程序加载时,将检查钥匙串以确定已解锁的功能 . 这一切都很完美,但我确实对以下情况有所顾虑: User A 解锁/购买 device A 上的所有功能 . User A 使...
  • 40 votes
     answers
     views

    获取“在您的钥匙串中找不到与此配置文件匹配的有效签名身份”警告

    我希望在iPod Touch上测试我的应用程序 我创建了开发配置文件 . 我将下载的.mobileprovision文件拖到了Organizer中 有一个黄色三角形警告说“在您的钥匙串中找不到与此配置文件匹配的有效签名身份” 其他分发配置文件没有任何问题 . 我检查了连接的iPod Touch . 组织者还说: 操作系统安装在“interdev”的iPod 3.1.3(7E18)上 Xcode支持...
  • 265 votes
     answers
     views

    iOS:如何在应用程序中存储用户名/密码?

    我的iOS应用程序中有一个登录屏幕 . 用户名和密码将保存在 NSUserDefaults 中,并在您再次进入应用程序时再次加载到登录屏幕中(当然, NSUserDefaults 是永久性的) . 现在,用户可以禁用用户名/密码保存功能 . 那么 NSUserDefaults 将被清除 . 但在我的应用程序中,我需要这个用户名/密码用于用户的数据库查询 . 那么:除了 NSUserDefaults...
  • 0 votes
     answers
     views

    在ios上卸载我的应用程序时如何清理钥匙串?

    我的应用程序使用钥匙串来存储用户和密码 . 当我删除并重新安装我的应用程序时,钥匙串不干净,键始终在应用程序中 . 如何检测我的应用程序的删除并使用我的cleanKeyChain方法?
  • 2 votes
     answers
     views

    如何使用GTM OAuth2.0从钥匙串中检索有效的访问令牌

    我正在尝试获取OAuth身份验证的有效访问令牌 . 我试图了解oAuth 2.0的身份验证过程 . 我想了解如何使用 [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:clientID:clientSecret:] 我的最终目标是允许应用记住用户,并在每次用户启动应用时避免使用登录表单 . 当我打电话的时候 -(void...
  • 12 votes
     answers
     views

    卸载应用程序时如何删除钥匙串数据? [重复]

    这个问题在这里已有答案: Delete keychain items when an app is uninstalled 8个答案 我有个问题 . 我正在为我的应用程序保存设备Keychain上的一些关键信息,但是当我卸载App并再次安装它时,这些数据仍然保存 . 卸载应用程序时如何删除这些信息?如果这是不可能的,如何检测应用程序何时首次加载后安装它而没有NSUserDefaults中的保...
  • 1 votes
     answers
     views

    在应用程序被杀死时删除钥匙串

    我使用iOS7的钥匙串作为目标,我使用属性: kSecAttrAccessibleWhenUnlockedThisDeviceOnly 它工作得很好,在设备锁定10秒后,钥匙串变量无法访问 . 我现在想要的是在应用程序被杀之前删除钥匙串 . 只有在进入后台或系统释放应用程序之前应用程序被杀死时才会调用 applicationWillTerminate . 如果应用程序在被用户杀死之前在后台持续1...
  • 3 votes
     answers
     views

    iOS Keychain - 如何确保设备/模拟器上的持久性?

    环境:iOS 4.0 Scenario :使用Apple的GenericKeychain示例中的KeychainItemWrapper; iOS模拟器 . Problem :我可以在调试器中存储/检索钥匙串数据 . 但是一旦我退出调试器,一旦我返回,我就丢失了钥匙串数据 . 也就是说,在应用程序重新启动时,我无法访问我的钥匙串数据 . Apple的GenericKeychain示例不会发生这种情况...
  • 1 votes
     answers
     views

    Keychain2Go如何在iPhone上获取其他应用程序的钥匙串数据?

    这个应用程序如何Keychain2Go获取iPhone上的所有钥匙串并删除它们? 正如Apple的文档所述: 在iOS中,应用程序始终可以访问自己的钥匙串项,并且无权访问任何其他应用程序的项目 . 系统为钥匙串生成自己的密码,并将密钥存储在设备上,使得任何应用程序都无法访问该密钥 . 当用户备份iPhone数据时,会备份钥匙串数据,但钥匙串中的机密仍会在备份中加密 . 密钥链密码不包含在备份中 ...
  • 37 votes
     answers
     views

    应用程序卸载后iphone keychain项目是否仍然存在?

    我正在玩idandersen的scifihifi-iphone钥匙串代码并遇到以下行为 - 我设置了密码,比如说 [SFHFKeychainUtils storeUsername:@"User" andPassword:@"123" forServiceName:@"TestService" updat...
  • 0 votes
     answers
     views

    iOS KeyChain项目在应用的多个目标之间未更新

    我正在构建一个应用程序,人们需要能够从iOS照片应用程序共享照片 . 为此,人们需要登录到应用程序 . 所以我为共享创建了一个新的iOS目标 . 现在我使用KeychainItemWrapper来存储用户凭据 . 因此,主要目标和共享目标都使用iOS Keychain来检索登录信息 . 现在,当我从主应用程序注销,然后以其他用户身份登录,之后我启动共享表,看起来共享表仍然具有来自前一个用户的旧数据...
  • 6 votes
     answers
     views

    我应该用哪个密钥在iOS钥匙串中存储密码?

    Apple GenericKeychain示例中的KeychainItemWrapper类使用kSecValueData键来存储密码 . 但参考http://developer.apple.com/library/ios/#documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/d...
  • 5 votes
     answers
     views

    iOS Keychain偶尔会返回空字符串

    我写了非常安全的应用程序(对于Bank),我将私钥保存在Keychain中 . 我使用以下代码保留私钥: +(void)savePrivatekey:(NSString *)Key { KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"pKey" acces...
  • 0 votes
     answers
     views

    在iOS Keychain中保存证书身份时重复项目

    我试图找出在尝试将证书身份添加到iOS钥匙串时 SecItemAdd 方法的状态代码 errSecDuplicateItem 的确切含义 . 阅读iOS文档,它只说这个状态代码意味着该项目在钥匙串中是重复的,但确定身份是否重复的标准是什么?发行人名称?截止日期?都? 如果您阅读Mac OSX文档,a similar方法的讨论部分将说明以下内容: 如果证书已添加到指定的钥匙串,则该函数将返回err...
  • 1 votes
     answers
     views

    钥匙串代码签名权利 - 奇怪的行为,钥匙串损失

    我已经在appstore中分发了一个应用程序,通过添加Keychain Entitlement文件来启用 Keychain sharing . 最初,我想有两个应用程序共享相同的keychain但后来我只有一个应用程序 . 尽管在XCode中的常规功能中启用了keychain共享访问权利文件添加在代码签名权利中,我将 nil 值设置为访问 KeychainItemWrapper 类中的组,如下所...
  • 3 votes
     answers
     views

    为什么SecPKCS12Import会自动将SecIdentities添加到Keychain?

    SecPKCS12Import上的documentation表示以下内容: [...]然后,您可以使用Keychain Services API(请参阅Keychain Services Reference)将身份和相关证书放入钥匙串中 . 这意味着“items”参数(该函数的第三个参数)中返回的项不应自动添加到钥匙串中 . 但是,我发现在使用该功能时,这些项目会自动添加到钥匙串中 . 如果我...
  • 2 votes
     answers
     views

    当钥匙串被锁定时,哪些钥匙串属性不可访问?

    有5 types of keys可以存储在iOS钥匙串中 kSecClassGenericPassword kSecClassInternetPassword kSecClassCertificate kSecClassKey kSecClassIdentity 每种键类型都支持不同的属性集 . 目前还不清楚哪些属性是“公开的”并暴露于锁定的钥匙串,哪些不是 . 我是否应该...
  • 2 votes
     answers
     views

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

    我的钥匙串遇到了一些问题,我认为主要是因为当我第一次使用它时我不知道它是如何工作的,我尝试了几种将数据和字符串密码等添加到我的钥匙串中的变种,以为当我删除应用程序时从我的设备中它将清除钥匙链...我现在知道这不是钥匙链如何工作所以希望我能得到一些帮助清理现在我的钥匙串中的垃圾 . 问题是我现在正试图将一些信息传递给我的钥匙串但是我收到了以下错误 *** Assertion failure in -...
  • 0 votes
     answers
     views

    API滥用(Apple):尝试释放尚未分配的数据

    An app我正在使用登录钥匙串中的简单密码项工作 . 我注意到有一个永远不会被释放的 SecKeychainItemRef . official documentation on SecKeychainFindGenericPassword()读到: 返回时,指向通用密码的项目对象的指针 . 您有责任发布对此对象的引用 . 经过一些快速更改后,静态代码分析器声称: 假设'result...
  • 4 votes
     answers
     views

    iPhone内存压力导致iOS Keychain数据丢失?

    我在iPhone 5s上通过调试器运行iOS应用程序 . 我正在使用钥匙串存储密码(我使用Apple的KeychainItemWrapper示例来存储和检索我的钥匙串项目) . 大约99.99%的时间,钥匙链检索工作完美 . 但是,有两种情况我的应用程序无法获取密码 . 例如,曾经,我的手机遇到内存压力,我不得不重新启动手机并重新启动应用程序 . 应用程序重新启动后,我的应用程序无法再从钥匙串中检...
  • 25 votes
     answers
     views

    iOS 8通知操作:访问“didFinishLaunchingWithOptions”中的keychain时“访问锁定钥匙串时尝试的项目”错误

    我在观察锁定手机上的iOS 8推送通知时 SecItemCopyMatching 抛出的设备控制台中的钥匙串错误 . 详细的重复步骤如下: 卸载所有以前版本的应用程序 . 在应用程序上构建应用程序的Appstore版本 . 强制退出应用程序 . 增加内部版本号,并在设备上构建更新版本 . 这模拟了应用更新流程 . 强制退出应用程序(在现实生活中,应用程序可能因内存压力而被操作系统杀死 . ...
  • 2 votes
     answers
     views

    应用程序在保存钥匙串数据时崩溃

    我正在使用 KeychainItemWrapper 类来保存钥匙串中的数据,但我的应用程序崩溃了崩溃日志 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't add the Keychain Item.' 这是一种在钥匙串中写入数据的方法 - (void)wr...
  • 2 votes
     answers
     views

    钥匙串错误-34018,无法删除当前字典

    我有一个用Swift 2.3编写的应用程序 . 该应用程序使用KeychainItemWrapper,使访问Keychain更简单 . 当我使用Xcode在iOS 9.3模拟器中运行应用程序时,应用程序按预期运行,并且读取/写入钥匙串没有问题 . 相同的应用程序,我的代码没有任何变化,与调用崩溃: - (void)resetKeychainItem 随着线: SecItemDelete((__b...
  • 0 votes
     answers
     views

    iOS Keychain禁用共享数据

    通过iOS Keychain在不同的应用程序之间共享数据似乎是一个很大的功能,但是如何避免应用程序之间的共享?我在Apple文档中找不到任何针对该案例的内容 . 我知道访问组以及应用程序的钥匙串访问是通过配置文件和keychain-access-groups参数定义的 . <key>Entitlements</key> <dict> <key&gt...
  • 2 votes
     answers
     views

    保持共享密钥链数据的私密性

    正如Apple文档所述,如果应用程序具有相同的App ID前缀并且他们在权利中设置了相同的keychain-access-groups,则应用程序可以共享密钥链数据 . 但是,只要我提供正确的keychain-access-groups作为硬编码字符串,我就能够从具有不同App ID前缀的应用程序访问共享密钥链数据 . 喜欢 ABCDEFGHIJ.my.keychain.group . 似乎将k...
  • 2 votes
     answers
     views

    在当前包ID中添加前缀会重置密钥链吗?

    我有一个应用程序(app1),它位于appstore中,包含id为com.x. y 现在我正在使用bundle id com.x在同一个开发者帐户下开发另一个应用程序(app2) . z 我想让app1中存储的app1中的keychain值可用 . 钥匙串的可用性由钥匙串访问组确定 . 所以,如果我将两个前缀(当前团队ID)添加到捆绑ID我能够获取值 . 例如 teamid .com.x....
  • 1 votes
     answers
     views

    在具有相同团队ID的应用程序组之间共享钥匙串访问权限

    我将拥有一个主应用程序和许多儿童应用程序,希望他们共享钥匙串, 在entitlements.plist中,所有子应用程序都有自己的包标识符 我用来添加和获取所有应用程序详细信息的keychain-group-access是PM7456S8QE.com.mango.GenericKeychain 在所有应用程序中,keychain-group-access语法就像 PM7456S8QE.com.ma...
  • 0 votes
     answers
     views

    钥匙串项是由app安全创建的,没有访问控制吗?

    我在我的应用程序的密钥链中保存了一个秘密,没有访问控制 . 根据我搜索的内容,该项目只能由我的应用访问 . 无论如何都要妥协这个钥匙串项目?例如,黑客可以安装具有相同捆绑标识符的假应用程序来替换我的应用程序并获取我的钥匙串项目吗?
  • 5 votes
     answers
     views

    在launchd系统守护进程中使用keychain

    我们有一个launchd守护程序,用于存储钥匙串内的用户名和密码 . 当我们尝试添加(使用SecKeychainAddGenericPassword)删除(使用SecKeychainFindGenericPassword和SecKeychainItemDelete)但我们无法获取使用SecKeychainFindGenericPassword设置的密码时,它会起作用 . 该函数返回 -25293 ...
  • 4 votes
     answers
     views

    在Mac OS X 10.7中从自定义系统范围的钥匙串中检索密钥

    我正在为OSX Lion开发应用程序 . 该应用程序具有根守护程序进程 . 我使用/ Library / Keychains中的“SecKeychainCreate”创建了一个系统范围的钥匙串,只有守护进程才能访问,并希望在该钥匙串中存储通用密钥 . 任何人都可以帮助我以编程方式从这个钥匙串中检索通用密钥吗?为了向keychain添加密钥,我使用了“SecKeychainItemCreateFro...

热门问题