【问题标题】:Cannot deploy apps on iOS 7 in IIS 7无法在 IIS 7 中的 iOS 7 上部署应用程序
【发布时间】:2014-09-05 09:51:11
【问题描述】:

我有一个正在运行的 IIS,它有一个页面,该页面有一个链接:

<a href="itms-services://?action=download-manifest&url=@Url.Action("DownloadPlist", "Test", null, "https")">Plist</a>

链接到:

[RequireHttps]
public ActionResult DownloadPlist()
{
    return File(Url.Content("~/pathToPlist/file.plist"), "application/xml");
}

a href 中的链接绝对是:

itms-services://?action=download-manifest&url=https://myapp/test/downloadplist

我可以获取最后一部分 https://myapp/test/downloadplist 并在我的浏览器中访问它,它会为我提供 XML 文件。但是,当我尝试使用 iPad 使用完整的itms 链接安装它时,它说:

Cannot connect to myapp

我有一个自签名证书,由 IIS 管理器创建并通过电子邮件发送到我的 iPad。然后可以安装它,但它仍然显示Not Trusted。我感觉这就是问题所在,但我不是 100% 确定。

【问题讨论】:

    标签: ios iis ssl https plist


    【解决方案1】:

    如果您使用 IIS 创建证书,这是常见的问题。问题是机器名与主机名不匹配。这也被描述为in Section 3 of this article

    最好的解决方案是创建您自己的 CA。然后将 CA 的证书添加到 iOS 设备并使用您的 CA 签署您自己的证书。请参阅Section 5 of this article,复制如下。

    创建您自己的证书颁发机构 (CA) 根

    证书,然后根据它创建证书。而不是付费 代表您创建 SSL 证书的商业 CA,您是 充当您自己的 CA。优点是您的自定义 CA 证书只需在每台设备上安装一次。设备 然后将自动信任您根据您颁发的任何证书 根 CA 证书。

    创建 CA 证书

    首先创建一个私钥文件:

    openssl genrsa -out myCA.key 2048 Then create the certificate: openssl req -x509 -new -key myCA.key -out myCA.cer -days 730 -subj /CN="My Custom CA"

    上面创建的证书文件 (myCA.cer) 可以公开共享并安装在 iOS 或其他操作系统上,就像 内置受信任的根 CA。

    私钥 文件 (myCA.key) 仅在创建新 SSL 证书时使用。您 可以基于此 CA 创建任意数量的证书 证书。

    创建 CSR(客户端签名请求)

    首先你要创建一个私钥:

    openssl genrsa -out mycert1.key 2048 and then create the CSR: openssl req -new -out mycert1.req -key mycert1.key -subj /CN=www2.mysite.com

    然后使用 CSR 创建证书:

    openssl x509 -req -in mycert1.req -out mycert1.cer -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial

    创建的证书 (mycert.cer) 可以安装在 Web 服务器上,并且 从任何已经拥有 CA 证书的 iOS 设备访问 已安装。

    【讨论】:

    • “最好的解决方案是创建自己的 CA...” - 这仍然无法解决 DNS 名称不正确的根本问题。浏览器和类似软件仍然会拒绝它。此外,DNS 名称应该放在通用名称中(即/CN=www2.mysite.com)。 DNS 名称进入主题备用名称 (SAN)。
    • 根本问题是@kevin-lee 想要在iOS 设备上安装的证书是错误的。需要安装 CA 的证书。创建 SSL 证书的说明是从链接页面复制的。它可能包含不完整或不正确的信息。还有其他guides and even tools 更好地描述了这些步骤。
    • @orkoden 抱歉回复晚了。我的公司部门花了一些时间来设置它。我可以确认这行得通。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多