通過OTA的方式在區域網路分發iOS應用,ota區域網路分發ios

來源:互聯網
上載者:User

通過OTA的方式在區域網路分發iOS應用,ota區域網路分發ios

公司的一個項目有Android和iOS的app,Android的下載和安裝都很方便,不過iOS有些麻煩,因為項目本身有些限制,主要有以下一些障礙:
1.iOS的版本不是通過Appstore分發。
2.出於安全的考慮,Android和iOS的app只能通過vpn的方式來訪問伺服器,而手機通過vpn後是無法訪問互連網的。因此無法訪問互連網的相關HTTPS的服務,換句話說就是無法使用互連網的SSL認證的web服務。
3、iOS的版本大於7.1的,因此apple的itms-services協議必須實用HTTPS。

鑒於上面這些障礙,於是考慮在區域網路搭建內部HTTPS的服務,通過OTA(Over-the-Air)方式來分發iOS的應用。

OTA

OTA即Over-the-Air,簡單來說就是通過無線方式發送指令給裝置,具體針對iOS的裝置,比如iphone 、ipad等,讓開發人員能夠脫離Appstore,實現從自己的伺服器下載並安裝iOS應用。 使用者只需要在iphone 或ipad的瀏覽器中點開一條連結,就能直接在主介面中安裝App。整個分發的過程包括三部分:裝置(iPhone,ipad),伺服器(profile service,用來發送設定檔),驗證伺服器(包括CA和目錄伺服器)。

OTA分發的實現方式

針對iOS應用分發,需要在伺服器裡上包括三個檔案,來實現OTA方式的分發

1.ipa檔案,也就是應用安裝包,可以是開發人員認證簽名的,也可以是企業認證。
2.plist檔案,主要用來說明iOS應用的安裝資訊,主要的安裝資訊包括ipa檔案的名稱和存放路徑。可以通過Xcode來建立plist檔案,具體建立過程和plist檔案這裡就不贅述了。
3、一個提供itms-services協議連結的頁面,同時該頁面是通過HTTPS的方式訪問。itms-services協議連結指向plist檔案的路徑,例如:

<a href="itms-services://?action=download-manifest&url=https://192.168.0.1/appipa.plist">Install App</a>

有了上面三個檔案,apple裝置就可以通過提供HTTPS伺服器,讀取plist檔案的iOS安裝的ipa檔案的路徑,從而實現下載和安裝。

自建OpenSSL認證

由於提供HTTPS的服務只能在區域網路內部,因此SSL認證不能使用相關CA機構頒發的,且認證不是基於網域名稱,是基於ip地址的,因此只能採用自製認證。在這裡我採用的是OpenSSL配置Tomcat 的SSL認證,OpenSSL使用是windows 版本的Apache伺服器下的openssl.exe產生。 步驟如下(採用命令列的方式):

1.產生伺服器的私密金鑰
openssl genrsa -out server.key 1024

2.產生簽署申請(Common Name必須為伺服器的ip或網域名稱)
openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf


3.產生CA私密金鑰
openssl genrsa -out ca.key 1024

4.用CA的私密金鑰產生CA的自簽署認證
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -config ..\conf\openssl.cnf

5.建立demoCA(bin目錄下)
demoCA裡面建立檔案index.txt和serial,serial內容為01,index.txt為空白,以及檔案夾newcerts

6.產生網站伺服器簽署認證
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

最後把產生好的server.crt 和server.key路徑配置到Apache伺服器的openssl.cnf設定檔裡(具體配置見相關文檔),重新啟動Apache伺服器即可。

SSLCertificateFile “/Apache22/conf/ssl2rver.crt”
SSLCertificateKeyFile “/Apache22/conf/ssl2rver.key”

用戶端認證ca.crt可以通過下載或者email方式提供給iOS 裝置安裝,不過有一點要注意:由於這是自簽名的SSL認證,是不可信任的,因此需要在iphone 或ipad 裏手動設定信任認證。

安裝完用戶端認證後,就可以通過iphone 或ipad的瀏覽器來訪問提供itms-services協議連結的頁面,下載和安裝iOS的應用了。

-----------------------------------------------------------

歡迎關注我的網站和公眾號,文章會在我的網站和公眾號上同步發布。

本文首發連結:https://www.watch-life.net/website-app/ota-ios-app.html

我的網站:守望軒

公眾號名稱:守望軒

公眾號:iwatchlife

你也可以掃描或長按以下二維碼 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.