我们的后端在 Rails 中,出于多种原因,必须使用自签名 SSL 证书在 rails 上运行开发环境。手动信任证书后,这在桌面上可以正常工作。
使用 Trigger.io,我们正在从同一后端开发针对 iOS 的移动应用程序。如果我们能够使用 SSL 运行 rails 服务器(这样我们可以比较浏览器输出)并且仍然让 iOS 模拟器正确连接而不会抱怨无效证书,那将是理想的选择。
生产使用正确的 ssl-cert,但是设置模拟器的最佳方法是什么?
我们的后端在 Rails 中,出于多种原因,必须使用自签名 SSL 证书在 rails 上运行开发环境。手动信任证书后,这在桌面上可以正常工作。
使用 Trigger.io,我们正在从同一后端开发针对 iOS 的移动应用程序。如果我们能够使用 SSL 运行 rails 服务器(这样我们可以比较浏览器输出)并且仍然让 iOS 模拟器正确连接而不会抱怨无效证书,那将是理想的选择。
生产使用正确的 ssl-cert,但是设置模拟器的最佳方法是什么?
您可以尝试在设备上安装 CRT 文件,如下所示:
将您的 CRT 文件推送到您的设备可以访问的服务器
在设备上,浏览到http://example.com/certificate.crt然后安装证书。
这类似于您如何使用代理调试 SSL,如此处所述
出于测试目的,您可以围绕 NSURLRequest 创建一个忽略证书的类别:
@implementation NSURLRequest (IgnoreSSL)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host
{
return YES;
}
@end
这显然不能提交到应用商店,也不应该在生产中使用。