【问题标题】:What is the proper identifier to use when adding a keychain item using KeyChainItemWrapper?使用 KeyChainItemWrapper 添加钥匙串项时使用的正确标识符是什么?
【发布时间】:2021-02-24 22:54:01
【问题描述】:

我不太明白标识符是什么或它是如何使用的。

这是任意的吗?是我的应用名称倒序吗? 下面我使用“测试”,但它应该是:“com.mydomain.myApp.test”吗? 还是我的应用程序包标识符:“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];
}

【问题讨论】:

    标签: objective-c keychain identifier keychainitemwrapper


    【解决方案1】:

    KeychainItemWrapper 是一个包装类,用于向“典型”开发人员隐藏所有 CFRef 转换内容。 如此一来,Security 框架中 Keychain 服务的所有“规则”都成立。

    因此,每当您访问钥匙串项目时,框架都会自动将您应用的捆绑 ID“添加”到该项目,以确保您只能读取自己的项目,例如SecItemAdd discussion.

    因此,identifier 是完全任意的,可能只会在您自己的应用内引发冲突,而不是与其他应用。

    备注:如果指定accessGroup,则可以在应用之间共享密钥,见Sharing Access to Keychain Items Among a Collection of Apps

    【讨论】:

    • 谢谢。我知道您的其他观点,但真正回答我的问题的是:“因此,标识符是完全任意的,可能只会在您自己的应用程序中引发冲突,而不是与其他应用程序。”这就是我一直在寻找的。再次感谢您。
    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多