使用KeyChainItemWrapper添加keychain项目时使用的正确标识符是什么?



我真的不明白标识符是什么,也不知道它是如何使用的。

是任意的吗?这是我的应用程序名称的反转吗?下面我使用"test"但它应该是:"com.mydomain.myApp.test"吗?或者我的app bundle标识符:com. soundpaper。soundpaper。fakeid123 ?还是别的什么?

谢谢。

@property (nonatomic, strong) KeychainItemWrapper *myChain;

. . .
if (myChain == nil)
{
// first question: what identifier should I use?        
myChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil];
}

KeychainItemWrapper是一个包装器类,用于隐藏所有CFRef转换的内容。开发人员。既然如此,所有的"规则">Security框架中所有Keychain服务的支持。

因此,无论何时访问keychain项,框架都会自动"添加"。你的应用的bundle id到那个项目,以确保你只能读取你自己的项目,例如SecItemAdd讨论。

因此,identifier是完全任意的,可能只会在你自己的应用中引起冲突,而不会与其他应用产生冲突。

备注:如果您指定了accessGroup,您可以在应用程序之间共享密钥,请参见在应用程序集合中共享对密钥链项的访问

最新更新