http://blog.csdn.net/zhaoxy_thu/article/details/21133399
今天升級了iOS7.1后發(fā)現(xiàn)通過之前的url無法安裝企業(yè)應(yīng)用了,一直提示“無法安裝應(yīng)用程序 因?yàn)閔ttp://xxx.xxx.xxx證書無效”,折騰了一番,終于在StackOverFlow上找到了答案。在這里分享給大家。
StackOverFlow鏈接:http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22325916#22325916
原因是由于iOS7.1要安裝企業(yè)應(yīng)用,url必須是https的,不能是http,這就要求我們的服務(wù)器要支持https。因此,只要將原鏈接:
- itms-services://?action=download-manifest&url=http://example.com/manifest.plist
改為
- itms-services://?action=download-manifest&url=https://example.com/manifest.plist
即可。
對于服務(wù)器,則需要增加對https的支持,本人用的是apache服務(wù)器,所以在這里以apache服務(wù)器為例:
1. 安裝配有SSL模塊的apache版本,本人使用的是httpd-2.0.65-win32-x86-openssl-0.9.8y
2. 打開apache的配置文件conf/httpd.conf,去掉以下內(nèi)容前的#
- LoadModule ssl_module modules/mod_ssl.so
并在文件最后加上:
- <VirtualHost *:8080>
- ServerAdmin zhaoxinyan12@mails.tsinghua.edu.cn(隨意)
- DocumentRoot D:/Server(服務(wù)器根目錄)
- ServerName 166.111.81.xxx(服務(wù)器域名或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文件的以下內(nèi)容:(以下為修改完的,大家可以參考下)
- #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目錄下創(chuàng)建ssl.crt和ssl.key目錄(不創(chuàng)建也行,只要保證以上兩個(gè)路徑和之后的文件路徑對應(yīng)即可)
5. 在命令行下切換到apache目錄下的bin目錄,運(yùn)行以下命令
生成服務(wù)器的私鑰:
- openssl genrsa -out server.key 1024
6. 生成簽署申請(注意除Common Name以外可以為空,Common Name必須為服務(wù)器的ip或域名):
- openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
7. 生成CA私鑰:
- openssl genrsa -out ca.key 1024
8. 利用CA的私鑰產(chǎn)生CA的自簽署證書(注意除Common Name以外可以為空,Common Name必須為服務(wù)器的ip或域名):
- openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf
9. 在當(dāng)前目錄創(chuàng)建demoCA,里面創(chuàng)建文件index.txt和serial,serial內(nèi)容為01,index.txt為空,以及文件夾newcerts。
10. CA為網(wǎng)站服務(wù)器簽署證書:
- openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
11. 最后將server.crt,server.key復(fù)制到上文對應(yīng)的路徑下:
- conf/ssl.crt/server.crt
- conf/ssl.key/server.key
12. 重啟Apache服務(wù)器,即增加了https的支持。可以在瀏覽器訪問https://localhost試試。如果不行,可以在logs\test-error_log文件中看看出了什么錯(cuò)誤。
13. 最后,我們要將自己創(chuàng)建的CA證書安裝到iphone上。將第10步生成的ca.crt文件通過郵件發(fā)送到iphone上,用自帶的Mail程序(別的程序不行)打開安裝即可。
14. 現(xiàn)在,再次訪問我們之前的itms-services鏈接,就可以正常安裝了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。