Tag: 钥匙

iOS7:如何在钥匙串中存储密钥/布尔值

我执行应用内购买,所有产品都是非消耗性的。 我的意图是将bool值存储在每个产品标识符的钥匙串中,然后根据存储的bool值控制Core Data检索。 我的问题是:如何将key / bool值存储到keychain中? PS:我使用KeyChainItemWrapper。

无法使用钥匙串访问(Mac OS X Mavericks)导入代码签名公钥或私钥

在试图构build一个iOS项目(在XCode),我需要导入我的同事的公钥和私钥的代码签名身份,但我无法这样做,因为我在Keychain访问中出现错误,说:“有错误发生无法导入项目/无法取得该项目的内容“ 完整的详细信息: 我从同事的电脑上拿到了两把钥匙,把它们从他的钥匙链上作为两个文件输出: Roomer Inc.p12(私钥) Roomer Inc.pem(公钥) 当他输出这些时,他把密码留空(虽然我们也用“test”的密码试过了,结果也一样)。 当我双击Roomer Inc.p12(用于私钥)时,它会在钥匙串访问中打开并提示我select钥匙串(默认情况下select“login” 我点击“添加”,然后提示input密钥链(我留空) 接下来我总是在Keychain访问中看到这条消息: 但是,尽pipe出现此消息,但单击“确定”后,我会看到“Roomer Inc”的新私钥条目。 请注意,这个条目是“login”钥匙链中的一个私钥,就像我所期望的那样,但没有过期date(应该是这样吗?) 接下来,对于Roomer Inc.pem文件(公钥),我被要求select钥匙串(“login”),然后单击添加 然后,我也得到了公钥的“发生错误,无法导入项目/该项目的内容不能被检索”的消息。 然而,在这种情况下(与私钥不同),我没有看到任何对应于我刚刚添加的项目。 因此,看起来私钥条目可能会或可能不会(我无法validation),并且没有此错误消息,Roomer的公钥条目不能安装在钥匙串中。 请注意,我也尝试使用安全导入命令来导入公钥: $ security import Roomer \ Inc.pem -f pkcs12〜/ Library / Keychains / login.keychain 1个密钥导入。 当我这样做,虽然命令返回“1键导入”我没有看到“Roomer公司”在我的钥匙串访问窗口(我closures了钥匙串访问并重新打开它)的公钥。 无论哪种方式,我们已经确定这是我们的阻挡者。 (当然的症状是XCode项目不会为与TestFlight一起使用的AdHoc供应configuration文件构build)。 我已经放弃了关于XCode构build和TestFlight设置的额外步骤,因为我们相信核心问题与上面所解释的导入键有关。

iOS密钥链写入值导致错误代码-34018

我有一个iOS应用程序,在钥匙串中存储一些敏感信息。 在将值写入钥匙串时,出现错误代码-34018。 我目前正在使用苹果的iOS KeyChainItemWrapper类。 以下两行代码都会收到相同的错误代码。 OSStatus res1 = SecItemCopyMatching((__bridge CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes); OSStatus res = SecItemUpdate((__bridge CFDictionaryRef)updateItem, (__bridge CFDictionaryRef)tempCheck); 这个问题并不是每次都会发生,但是是间歇性的。 一旦我得到这个错误,我不能再给钥匙串写任何值了。 我已经打印出这样的错误描述: NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:res userInfo:nil]; 这是错误打印出来的东西: Error: Error Domain=NSOSStatusErrorDomain Code=-34018 "The operation couldn't be completed. (OSStatus error -34018.)"