iPhone6以下手机,并且iOS 11以后(可能iOS 9以后的系统都有着问题,手上没有满足条件的手机没有验证)出现
手机锁屏时RSA加密失败
出问题代码:
OSStatus status = SecItemAdd((__bridge CFDictionaryRef)publicKey, &persistKey);
if (persistKey != nil){
CFRelease(persistKey);
}
if ((status != noErr) && (status != errSecDuplicateItem)) {
return nil;
}
这里Status = -25308
解决方案:
在构造的字典时,加以下代码就解决了
[publicKey setObject:(__bridge id)kSecAttrAccessibleAfterFirstUnlock forKey:(__bridge id)kSecAttrAccessible];
参考文章:
https://stackoverflow.com/questions/9723949/ios-sfhfkeychainutils-failing-sometimes-with-error-25308-errsecinteractionnot