【问题标题】:iOS 7 enterprise distribution on secured server [closed]安全服务器上的 iOS 7 企业分发 [关闭]
【发布时间】:2014-01-24 06:45:19
【问题描述】:

我有一个用于部署内部应用程序的企业分发证书。我的某些应用程序包含非常敏感的材料,并且为了保护应用程序不被公司中的任何人安装,我在 Web 服务器上使用受密码保护的目录来托管 .IPA 文件,而 .plist 文件位于打开网络服务器。这是我遇到的问题:

在 iOS6 上,我单击要安装的链接(以 itms-services:// 开头),iOS 提示我输入我的凭据,然后继续安装应用程序。

在 iOS7 上,相同的链接可以正常工作,但由于某种原因,它两次要求我提供凭据。输入我的凭据两次后,应用程序就可以正常安装了。

有人知道为什么会这样吗?这个过程有什么不同?

【问题讨论】:

  • 我在 iOS 7 上从 App Store 安装时遇到了类似问题。有时,点击“安装”会导致应用开始下载,下载完成后会提示我输入凭据第二次。该应用程序然后重新下载并安装正常。有可能您的网站设置得很好,并且该错误存在于 iOS 方面。
  • 是的,我对 iOS 6 没有任何问题。
  • 对于所有投票结束我的问题的人,因为它是题外话,我应该在哪里发布这个问题,如果不是在这里?谢谢。

标签: ios ios6 ios7 basic-authentication enterprise-distribution


【解决方案1】:

我检查了 Web 服务器的访问日志。 itunessstored 应用程序询问了两次。 (HEAD 和 GET)

10.0.2.2 - - [06/Feb/2014:14:50:48 +0900] "HEAD /test/app/app.ipa HTTP/1.1" 401 - "-" "itunesstored/1.0 iOS/7.0.4 model/iPhone4,1 (6; dt:73)"
10.0.2.2 - test [06/Feb/2014:14:51:03 +0900] "HEAD /test/app/app.ipa HTTP/1.1" 200 - "-" "itunesstored/1.0 iOS/7.0.4 model/iPhone4,1 (6; dt:73)"
10.0.2.2 - - [06/Feb/2014:14:51:04 +0900] "GET /test/app/app.ipa HTTP/1.1" 401 539 "-" "itunesstored/1.0 iOS/7.0.4 model/iPhone4,1 (6; dt:73)"
10.0.2.2 - test [06/Feb/2014:14:51:09 +0900] "GET /test/app/app.ipa HTTP/1.1" 200 4066787 "-" "itunesstored/1.0 iOS/7.0.4 model/iPhone4,1 (6; dt:73)"

所以,我更改了 Web 服务器的设置,使其在请求 HEAD 时忽略基本身份验证。

之前:

<Directory "/Library/WebServer/Documents/test/app/">
    AuthType Basic
    AuthName "BASIC AUTH"
    AuthUserFile "/etc/apache2/htpasswd"
    Require valid-user
</Directory>

之后:

SetEnvIf Request_Method HEAD headreq
<Directory "/Library/WebServer/Documents/test/app/">
    Order Allow,Deny
    Allow from env=headreq
    AuthType Basic
    AuthName "BASIC AUTH"
    AuthUserFile "/etc/apache2/htpasswd"
    Require valid-user
    Satisfy Any
</Directory>

在那之后, itunessstored 应用程序只询问了一次。 (仅 GET)。

【讨论】:

  • 谢谢,谢谢,谢谢,谢谢!!!! :D
  • 我希望我能接受并支持这个答案一百万次..
【解决方案2】:

不能真正回答您的问题,但您的方法并不能保证未经授权的人无法安装您的应用。如果拥有 IPA 文件所在目录密码的人与其他人共享该文件 - 您将没有任何保护。

我有类似的情况,我直接在应用程序中设置了密码保护。使用应用程序生成的唯一密钥,用户将请求一个密码,该密码将由该唯一密钥生成(因此对于该用户来说是唯一的)以获得对应用程序的访问权限。

【讨论】:

  • 我对此并不十分担心。安装该应用程序的人在技术上并不那么精通。这不是一个坏主意,但不是我想要的。不过谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-09
  • 2019-08-10
  • 2016-05-30
相关资源
最近更新 更多