2011-10-10 109 views
0

我想知道xcode中的确切位置是否放置了我拥有的x.509证书。以此为例: http://code.google.com/p/cocoaasyncsocket/downloads/detail?name=CertTest.zip&can=1&q=使用x.509证书的SSL cocoa

我希望能够与正在运行的安全服务器进行通信。我似乎无法在每次添加证书时,我的Mac会打开一个钥匙串窗口,询问证书是否属于我的任何系统(除了我的项目)设置。所以我想知道我在哪里将它放在我的项目中,以及我将如何使用它(我想链接上的项目会对此有所帮助)

+0

你想给我们证书对服务器进行身份验证? – Nekto

+0

是的,这是正确的。我似乎无法完成身份验证。 –

回答

0

如果您使用NSURLConnection连接到服务器,则应该实现在接下来的委托方法:

- (BOOL)connection:(NSURLConnection *)conn canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace; 
// A delegate method called by the NSURLConnection when something happens with the 
// connection security-wise. We defer all of the logic for how to handle this to 
// the ChallengeHandler module (and it's very custom subclasses). 


- (void)connection:(NSURLConnection *)conn didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 
// A delegate method called by the NSURLConnection when you accept a specific 
// authentication challenge by returning YES from -connection:canAuthenticateAgainstProtectionSpace:. 
// Again, most of the logic has been shuffled off to the ChallengeHandler module; the only 
// policy decision we make here is that, if the challenge handle doesn't get it right in 5 tries, 
// we bail out. 

我建议你通过苹果通过这个样本看:Advanced Url Connections

+0

啊是的。这应该工作。谢谢!不知道这个例子。 –