天天看點

IOS7.1下載下傳企業版應用報“xxx證書無效”的解決方案

自從IOS更新到7.1以後,企業版應用下載下傳時就會報“無法安裝應用程式 因為xxx證書無效”的錯誤。查了資料才知道是蘋果方面更新到ios7.1後,原先plist的url從原來的http改成https了,換句話說必須使用SSL了。

解決此問題有兩種方案:

一、自己搭建https伺服器

介紹下環境:我的項目部署在linux的yaws伺服器上,是以需要在yaws上建立SSL服務,好在yaws支援SSL,隻要在yaws.conf中配置一下即可。

以下是具體實作步驟:

1.根據http://blog.csdn.net/zhaoxy_thu/article/details/21133399 博文,生成根證書ca.crt、伺服器證書server.crt和伺服器私鑰server.key

2.配置yaws.conf

在yaws.conf中增加以下ssl服務配置項(需開通8443端口)

<server localhost>
    port = 8443
    listen = 0.0.0.0
    docroot = ../ewp/public/www
    appmods = </, ewp_controller>
    <ssl>
        keyfile = ./config/cert/server.key
        certfile = ./config/cert/server.crt
    </ssl>
</server>
           

3.在config下建立cert檔案夾,把server.key和server.key放進去。

4.由于是自己頒給自己的證書,是以用戶端上需安裝ca.crt根證書,需給出ca根證書的下載下傳路徑。

5.修改連接配接(使用https請求plist檔案)

itms-services://?action=download-manifest&url=https://192.168.21.26:8443/itmobile/mobile/ios5/itmobile.plist
           

6.配置完畢。下載下傳應用前先下載下傳安裝根證書ca.crt(用Safari浏覽器可以直接安裝,其他浏覽器不認)

優點:自己搭建伺服器自主性高,自己可以随便操作。

缺點:如果不是購買的SSL證書(買證書比較貴),需要安裝ca根證書,這比較麻煩,使用者體驗也不是很好。

二、使用第三方https伺服器

網上介紹用dropbox,其實dropbox就是一個https伺服器,同時又可以把檔案上傳上去,并提供https方式下載下傳。

隻要把plist檔案上傳至dropbox上,代碼中下載下傳應用的url改成dropbox下載下傳plist檔案的位址即可。

關于用dropbox下載下傳的方式可以參考http://blog.csdn.net/mideveloper/article/details/21237761

優點:第三方現成的伺服器,免費,省心。

缺點:一般隻能用作測試,在生産環境上用讓人不放心;同時伺服器在國外,國内使用比較慢;服務支援到何時也不好說。