我想使用URLCredentialStorage永久存储URLCredential(从iCloud存储中选择的.p12证书构建)。 URLCredential看起来很好(它有identityRef和一个证书)。
let credential = URLCredential(
identity: ident.identityRef,
certificates: ident.certArray as [AnyObject],
persistence: URLCredential.Persistence.permanent)
URLCredentialStorage.shared.set(credential, for: protectionSpace)
问题是执行上面的代码后,我在控制台中打印出错误:
CredStore - setIdentityCred - Error adding cred. Error=-25299, attrs={
labl = "http://website.com:80/";
"v_Ref" = "<SecIdentityRef: 0x1c4437820>";
}
之后我可以稍后检索存储的凭据,但它无法正常工作(服务器不接受它)。这个问题似乎只存在于iOS 11+上。在iOS 10上存储,检索和使用相同的凭据和相同的代码工作绝对正常。我没有在iOS 11更改日志中发现任何可能与此问题相关的更改。
请问任何人可以提出可能导致此行为的解决方案或可能出现的问题吗?