正在iPhone上缓存证书身份验证

正在iPhone上缓存证书身份验证,iphone,objective-c,https,nsurlcredential,Iphone,Objective C,Https,Nsurlcredential,所以我有一个向服务器发出https请求的应用程序。它使用.p12证书和密码进行身份验证。现在,在第一次身份验证质询之后,它当前会缓存该请求,随后的HTTP请求也会受到质询。我希望“注销”并删除缓存,以便它再次执行身份验证质询。我一直在查看stackoverflow和其他网站上的各种相关帖子,但还没有找到我的问题的简明答案。我宁愿不包括另一个SDK(如ASIHTTPRequest)来实现这一点。有人能帮我吗 干杯 罗宾 更新: 为了澄清,我已经尝试过了 NSURLCredential *ident

所以我有一个向服务器发出https请求的应用程序。它使用.p12证书和密码进行身份验证。现在,在第一次身份验证质询之后,它当前会缓存该请求,随后的HTTP请求也会受到质询。我希望“注销”并删除缓存,以便它再次执行身份验证质询。我一直在查看stackoverflow和其他网站上的各种相关帖子,但还没有找到我的问题的简明答案。我宁愿不包括另一个SDK(如ASIHTTPRequest)来实现这一点。有人能帮我吗

干杯

罗宾

更新: 为了澄清,我已经尝试过了

NSURLCredential *identityCredential = [NSURLCredential credentialWithIdentity:identity certificates:nil persistence:NSURLCredentialPersistenceNON];
我还尝试删除所有cookie并清除sharedUrlCache

发现的问题:


好的,问题是NSURLConnection会自动附加“Connection”:“keep alive”头。因此,快速(在10-15秒内)连续多次发出相同请求意味着连接仍然打开,因此无需质询。显然,目前没有办法改变这一点,因为手动将此标题设置为“关闭”并不能做到这一点

还要注意的是,当我执行NSDictionary*credentialsDict=[[NSURlCredentialsStorage sharedCredentialStorage]allCredentials];,字典是空的,如果我等待一段时间(10-30秒),它将再次质询并调用didReceiveauthenticationChallenge methodOk,所以问题是NSURLConnection会自动附加“连接”:“keep alive”标头。因此,快速(在10-15秒内)连续多次发出相同请求意味着连接仍然打开,因此无需质询。显然,目前无法更改此设置,因为手动将此标题设置为“close”不起作用。另外,请注意,当我执行NSDictionary*credentialsDict=[[NSURlCredentialsStorage sharedCredentialStorage]allCredentials];,字典是空的,如果我等待一段时间(10-30秒),它将再次质询并调用didReceiveauthenticationChallenge methodOk,所以问题是NSURLConnection会自动附加“连接”:“keep alive”标头。因此,快速(在10-15秒内)连续多次发出相同请求意味着连接仍然打开,因此无需质询。显然,目前没有办法改变这一点,因为手动将此标题设置为“关闭”并不能做到这一点