iOS将SecIdentityRef保存在钥匙串中,以便可以唯一查询

时间:2018-02-03 05:59:17

标签: ios

我正在尝试在密钥链中保存SecIdentityRef,以便可以唯一地查询它。我的代码看起来像这样

       NSMutableDictionary *keyAttr = [NSMutableDictionary dictionary];
       [keyAttr setObject:label forKey:(__bridge NSString*)(kSecAttrLabel)];
      [keyAttr setObject:(id)self.identityRef forKey:(__bridge    NSString*)kSecValueRef];
        [keyAttr setObject:identityTag forKey:(__bridge NSString*)(kSecAttrApplicationTag)];
       [keyAttr setObject:(__bridge  NSString*)kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly forKey:(__bridge NSString*)kSecAttrAccessible];
        OSStatus secStatus = SecItemAdd((__bridge CFDictionaryRef) dict, nil);

我正在设置kSecAttrApplication标记,因此当我使用SecItemCopyMatching进行查询时,我只得到一个匹配项。但是,当我尝试此代码时,secStatus代码是-25303(无效参数),这是由于kSecAttrApplicationTag。 我可以使用kSecAttrApplicationTag来唯一标识项目吗?使用唯一搜索属性存储身份的最佳方式是什么?

0 个答案:

没有答案