4

我有一堆应用程序使用相同的钥匙串组来共享一些敏感数据。在同一设备上测试应用程序时效果很好,它们可以访问和编辑共享数据。我想知道是否可以在 iDevices 之间共享数据,我的 iPad (iOS 7) 和 iPhone (iOS 6) 似乎将它们分开存储(它是本地的吗?),我认为它被安全地存储在 Apple 的服务器中,因为它被称为 iCloud钥匙链。

我使用RayWenderlich 教程中的KeychainWrapper类,稍作修改以获得唯一的钥匙串访问组。

+ (NSMutableDictionary *)setupSearchDirectoryForIdentifier:(NSString *)identifier {
    ...
    //Added this line 
    [searchDictionary setObject:KEYCHAINGROUP forKey:(__bridge id)kSecAttrAccessGroup];
    ...
    return searchDictionary;
}

是否可以使用 Keychain 在设备和应用程序之间同时共享数据?如果是这样我应该如何实施它?

4

2 回答 2

2

现在您可以将 kSecAttrSynchronizable 属性添加到钥匙串的项目中,以便通过 icloud 在设备之间进行同步: https ://developer.apple.com/documentation/security/ksecattrsynchronizable

也宁愿使用一个特殊的库,如 KeychainAccess 来管理钥匙串(检查这个答案

于 2018-09-04T00:31:25.160 回答
-1

Keychain 将数据存储在本地设备上。如果您需要在设备之间共享敏感数据,您可以加密数据并将其存储在 iCloud 上。

于 2014-04-25T02:26:04.647 回答