xcode – iOS 9:SecItemCopyMatching返回成功的状态代码,但密钥为零

我试图将私钥导入keychain usingSecItemAdd方法返回OSStatus 0,但当我尝试使用SecItemCopyMatch从密钥链中检索该密钥时,它返回nil数据,但OSStatus为0表示成功

请参阅Apple开发者论坛link

最佳答案 由于格式错误的公钥引起错误,请参阅
https://forums.developer.apple.com/thread/15129

如果你使用基本编码规则库这里的解决方案.

要修复公钥,您需要在模数据之前插入nil字节.
https://github.com/StCredZero/SCZ-BasicEncodingRules-iOS/issues/6#issuecomment-136601437

附:对我来说,修复很简单:

const char fixByte = 0;
NSMutableData * fixedModule = [NSMutableData dataWithBytes:&fixByte length:1];
[fixedModule appendData:modulusData];
点赞