Ios 如何在NSURL请求中附加TLS/SSL证书?
我需要与服务器通信,并且需要在每个Ios 如何在NSURL请求中附加TLS/SSL证书?,ios,objective-c,ssl,nsurlrequest,Ios,Objective C,Ssl,Nsurlrequest,我需要与服务器通信,并且需要在每个NSURLRequest中附加一个自签名TLS证书 有办法吗?您的连接代理应该实现连接:canAuthenticateAgainstProtectionSpace:并回答YES。完成后,您的代理将收到连接:didReceiveAuthenticationChallenge: 要继续使用证书,该方法应回答NSURLCredential。使用您的证书创建其中一个 + (NSURLCredential *)credentialWithIdentity:(SecIden
NSURLRequest
中附加一个自签名TLS证书
有办法吗?您的连接代理应该实现
连接:canAuthenticateAgainstProtectionSpace:
并回答YES。完成后,您的代理将收到连接:didReceiveAuthenticationChallenge:
要继续使用证书,该方法应回答NSURLCredential。使用您的证书创建其中一个
+ (NSURLCredential *)credentialWithIdentity:(SecIdentityRef)identity certificates:(NSArray *)certArray persistence:(NSURLCredentialPersistence)persistence
您的连接代理应该实现
连接:canAuthenticateAgainstProtectionSpace:
并回答YES。完成后,您的代理将收到连接:didReceiveAuthenticationChallenge:
要继续使用证书,该方法应回答NSURLCredential。使用您的证书创建其中一个
+ (NSURLCredential *)credentialWithIdentity:(SecIdentityRef)identity certificates:(NSArray *)certArray persistence:(NSURLCredentialPersistence)persistence
或者,您可以实现
连接:willSendRequestForAuthenticationChallenge:
(在iOS 5中提供),然后您只需要1个委托方法来进行身份验证,而不是2个。@martiner这不是让恶意用户非常容易修补的,重写连接:CanAuthenticationAgainstProtectionSpace并回答否,因此,应用程序不再像这样检查证书?@Tiago:iOS应用程序是代码签名的,修补它们(如果可能的话)并不是那么容易。很公平,尽管我也在考虑OSX方面,在OSX方面,应用程序并不总是代码签名的(因为这需要苹果开发许可证,这对OSX开发人员来说不是强制性的)。指南链接是断线的,您可以实现连接:willSendRequestForAuthenticationChallenge:
(在iOS 5中提供),然后您只需要1个委托方法进行身份验证,而不是2个。@MartinR恶意用户修补、覆盖连接不是非常容易吗:CanAuthenticationAgainstProtectionSpace并回答否,因此,应用程序不再像这样检查证书?@Tiago:iOS应用程序是代码签名的,修补它们并不容易(如果可能的话)。很公平,尽管我也在考虑OSX方面,在OSX方面,应用程序并不总是代码签名的(因为这需要apple dev许可证,OSX dev并不强制要求)。指南链接已断开