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

Objective c 在Iphone应用程序中使用安全Web服务(https)(目标C),objective-c,Objective C,我有一个工作的web服务,它是不安全的(http),我尝试从我的iphone应用程序和它的作品连接到它!!。我想使此web服务安全,因此从IIS创建了一个自签名证书,并让服务使用它。我现在有了一个带有https的安全web服务,现在我想让我的应用程序访问这个安全web服务,现在我画了一个空白 下面是我用来访问不安全web服务的代码,请您为我提供一个访问安全web服务的简单选项,只是将URL更改为https不起作用 (XXXXXSessionDispatcher *) sessionForLogi

我有一个工作的web服务,它是不安全的(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];
}

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

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

也许这有助于:

您没有显示访问web服务的代码。无论如何,为了处理自签名证书,如果您使用NSURLConnection,您绝对需要实现委托。您确定该链接就是问题的答案吗?就我所见,这或多或少地处理了忽略来自服务器的不可信证书的情况。只用于测试代码,不用于生产。IMHO,如果你想实际检查证书,你应该执行一些额外的步骤。