我正在尝试允许通过 Phonegap 部署到 iPad 的 HTML5 应用程序连接到我的开发服务器提供的 Web 服务。开发服务器具有自签名证书。我能够以 p12 格式(使用私钥)导出我的证书,并使用 iPhone 配置实用程序创建配置文件并将其安装到我的 iPad。当我在 iPad 上的 General -> Profiles 下查看时,我可以看到我的配置文件,它显示“已验证”并带有绿色复选标记。但是,它使用由不受信任的 iPhone 配置实用程序生成的签名证书进行签名。我相信这会导致 Web 服务失败。
如果我在生产服务器上点击 Web 服务,一切正常,因为服务器拥有的证书已由主要的第 3 方颁发者验证。唯一的问题是击中我的开发服务器。通过让我的 iPad 访问代理服务器,我可以使用为其颁发自签名证书的主机名访问开发服务器,该代理服务器具有解析为正确主机名的 /etc/hosts 条目。我可以在 iPad 上的 Chrome 中访问这个网站,所以我知道它是有效的。但是,由于证书不受信任,Chrome 也会发出警告。它应该被信任。这在笔记本电脑或 iOS 模拟器上运行良好(为此我必须将证书导入模拟器)。它仅在实际的物理设备上不起作用。
当然,这种开发设置对于使用 Web 服务的 iOS 应用程序来说是典型的。任何人都可以提出行动方案吗?有没有办法让 iPhone 配置实用程序生成的签名证书被信任?