0

我有一个工作的网络服务,它不安全(http),我尝试从我的 iphone 应用程序和它的作品连接到它!!。我想让这个 Web 服务安全,所以从 IIS 创建了一个自签名证书并让服务使用它。我现在有一个带有 https 的安全 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];
}
4

1 回答 1

0

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

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

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

于 2013-06-29T05:20:42.190 回答