回覆列表
  • 1 # 影片好笑

    原因是由於iOS7.1要安裝企業應用,url必須是https的,不能是http,這就要求我們的伺服器要支援https。因此,只要將原連結:[plain] view plaincopyitms-services://?action=download-manifest&url=

    http://example.com/manifest.plist

    改為[plain] view plaincopyitms-services://?action=download-manifest&url=

    https://example.com/manifest.plist

    即可。對於伺服器,則需要增加對https的支援,本人用的是apache伺服器,所以在這裡以windows上的apache伺服器為例:1. 安裝配有SSL模組的apache版本,本人使用的是httpd-2.0.65-win32-x86-openssl-0.9.8y2. 開啟apache的配置檔案conf/httpd.conf,去掉以下內容前的#[plain] view plaincopyLoadModule ssl_module modules/mod_ssl.so 並在檔案最後加上:[plain] view plaincopy<VirtualHost *:8080> ServerAdmin [email protected](郵箱地址,隨意) DocumentRoot D:/Server(伺服器根目錄) ServerName 166.111.81.xxx(伺服器域名或ip地址) ErrorLog logs/test-error_log CustomLog logs/test-access_log common SSLEngine on SSLCertificateFile "D:/Program Files/Apache Group/Apache2/conf/ssl.crt/server.crt"(之後生成證書的完整路徑) SSLCertificateKeyFile "D:/Program Files/Apache Group/Apache2/conf/ssl.key/server.key" (之後生成金鑰的完整路徑) </VirtualHost> 3. 修改conf/ssl.conf檔案的以下內容:(以下為修改完的,大家可以參考下)[plain] view plaincopy#SSLSessionCache none #SSLSessionCache shmht:logs/ssl_scache(512000) SSLSessionCache shmcb:logs/ssl_scache(512000) #SSLSessionCache dbm:logs/ssl_scache ... SSLCertificateFile conf/ssl.crt/server.crt ... SSLCertificateKeyFile conf/ssl.key/server.key 4. 在conf目錄下建立ssl.crt和ssl.key目錄(不建立也行,只要保證以上兩個路徑和之後的檔案路徑對應即可)5. 在命令列下切換到apache目錄下的bin目錄,執行以下命令生成伺服器的私鑰:[plain] view plaincopyopenssl genrsa -out server.key 1024 6. 生成簽署申請(注意除Common Name以外可以為空,Common Name必須為伺服器的ip或域名):[plain] view plaincopyopenssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf 7. 生成CA私鑰:[plain] view plaincopyopenssl genrsa -out ca.key 1024 8. 利用CA的私鑰產生CA的自簽署證書(注意除Common Name以外可以為空,Common Name必須為伺服器的ip或域名):[plain] view plaincopyopenssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf 9. 在當前目錄建立demoCA,裡面建立檔案index.txt和serial,serial內容為01,index.txt為空,以及資料夾newcerts。10. CA為網站伺服器簽署證書:[plain] view plaincopyopenssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf 11. 最後將server.crt,server.key複製到上文對應的路徑下:[plain] view plaincopyconf/ssl.crt/server.crt conf/ssl.key/server.key 12. 重啟Apache伺服器,即增加了https的支援。可以在瀏覽器訪問

    https://localhost

    試試。如果不行,可以在logs\test-error_log檔案中看看出了什麼錯誤。13. 最後,我們要將自己建立的CA證書安裝到iphone上。將第10步生成的ca.crt檔案透過郵件傳送到iphone上,用自帶的Mail程式(別的程式不行)開啟安裝即可。14. 現在,再次訪問我們之前的itms-services連結,就可以正常安裝了。這種方法如果大家覺得麻煩的話可以把plist和ipa傳到dropbox上,獲取靜態連結,因為dropbox的伺服器支援https且有第三方釋出的證書,唯一的缺點是國內可能會慢一些。

  • 中秋節和大豐收的關聯?
  • 為什麼要研究汽車NVH?