在Iphone应用程序中使用安全Web服务(https)(目标C)

时间:2013-06-29 04:26:23

标签: objective-c

我有一个工作的网络服务,这是不安全的(http),我尝试从我的iPhone应用程序及其工作连接到它!我想使这个Web服务安全,因此从IIS创建了自签名证书并让服务使用它。我现在有一个使用https的安全Web服务,现在我希望我的应用程序访问这个安全的Web服务,我正在画一个空白。

以下是我用来访问不安全的Web服务的代码,请您提供一个访问安全Web服务的简单选项,只需将URL更改为https不起作用。

(XXXXXSessionDispatcher *) sessionForLoginDict: (NSDictionary *)loginDict
                                        serviceHost: (NSString *)serviceHost
{
NSString *urlString = [NSString stringWithFormat:@"httpsxxx%@/xxxxxxxxxxxxxxx/OpenSession",serviceHost];

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:loginDict options:kNilOptions error:nil];

NSString *jsonString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding];

return [[XXXXXSessionDispatcher alloc] initFromJSONString:urlString jsonString:jsonString];
}

1 个答案:

答案 0 :(得分:0)

问题是iOS不接受自签名证书。根据您用于连接服务的类/方法,设置代码有不同的方式,以便它接受自签名证书。

此外,执行此操作时,请确保此代码仅在调试模式下运行,否则您将发送不安全的代码。

也许这会有所帮助: NSURLConnection with SSL for untrusted cert