你好,歡迎來到IOS教程網
設為首頁
加入收藏
首頁
IOS基礎知識
IOS使用技巧
IOS編程開發
IOS教程
IOS訊息
Ios教程網
>>
IOS編程開發
>>
IOS開發綜合
>> IOS 7.1下 內網 ADHOC 下載解決方案
IOS 7.1下 內網 ADHOC 下載解決方案
編輯:IOS開發綜合
最近蘋果發布了IOS7.1。話說蘋果每次發布都牽動開發者的心哈,這次讓我們又小糾結了一陣。
廢話不多說,說下AdHoc在ios7.1不能下載的原因,就是ios7.1不接受未經ssl驗證的manifest了,就意味著plist文件的路徑需要從http換為https:
itms-services://?action=download-manifest&url=http://domain.com/app.plist
==> //更換為
itms-services://?action=download-manifest&url=https://domain.com/app.plist
看起來貌似簡單一點改動啊,但是如果你和我一樣在局域網裡面搭了個apache,寫了一些php代碼,可以自動上傳包上去給測試人員下載測試的話,那就要麻煩一些了,網上有些說用dropbox. 這個方案的確可行,但是我們是內網環境啊,dropbox訪問不了啊,那只能想辦法讓容器支持https.
可能有人說我試了自簽名證書支持https啊,但還是不行啊。這裡也是可以解決的,請直接看文章末尾。
Apache2支持https
我用的時CentOS6系統和Apache2服務器,如果你用的不同的環境,也可以參考下,起碼也可以知道解決的思路。
1、首先你得apache要支持mod_ssl,如果沒有就安裝下,安裝也簡單了
yum install mod_ssl
如果是其他的系統就按對應的安裝方案
2、生成自簽名的CA證書和服務器證書
2.1用openssl選擇rsa非對稱算法和des3對稱加密算法來制作CA證書:
openssl genrsa -des3 -out my-ca.key 2048
上面會生成一個密鑰長度2048位的密鑰,,保存在my-ca.key文件中,這個文件會要求你輸入個密碼,這個密碼後面用到這個文件時都會用到。
2.2然後使用x509標准簽署證書
openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt
上面這步生成了有效期10年的CA證書文件 my-ca.crt,這個過程會讓你填一些基本信息,比如國家城市,公司名,網站名等等,因為是自簽署,隨便填就行了。
2.3然後我們可以用下面這個命令查看下這個證書(不看也行):
openssl x509 -in my-ca.crt -text -noout
2.4現在有了CA證書了,就可以用它來為我們的網站頒發ssl證書了。同制作CA證書一樣,我們需要先為服務器生成密鑰對。
openssl genrsa -des3 -out mars-server.key 2048
2.5生成了密鑰mars-server.key後,根據它生成csr證書文件
openssl req -new -key mars-server.key -out mars-server.csr
執行上述命令時同樣要輸入一些基本信息,這裡面要注意了Common Name的值要和你的域名一致,否則後面客戶端浏覽器驗證域名不正確會不通過的。這裡我是局域網就填了局域網的ip,如果10.21.122.22, 因此如果你的局域網的主機的ip變了的話,就需要重新頒發下證書了。所以建議直接在路由或交換上把你的主機設置為固定ip.
2.6下面就用CA證書來簽署服務器證書了:
openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650
到這裡,我們所需要的證書就完全做成了。下面需要做的就是部署到Apache裡面了。
3、部署到Apache
3.1創建一個目錄放證書文件,如放在/etc/apache2/ssl下,包括3個文件,分別是:my-ca.crtmars-server.crt mars-server.key.
3.2在生成mars-server.key的過程中,可能對這個文件設置了密碼,如果直接部署,那麼以後啟動apache的時候都要輸入這個密碼,但是一般我們都開機自動啟動apache,手動啟動多麻煩啊,可以把這個文件轉換一下,省去輸入密碼步驟:
cd /etc/apache2/ssl
openssl rsa -in mars-server.key -out mars-server.key.insecure
3.3修改Apache的ssl配置,比如我是centOS放在 /etc/httpd/conf.d/ssl.conf中,分別把以下四個選項的配置修改為剛生成的文件。
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/mars-server.crt
SSLCertificateKeyFile /etc/apache2/ssl/mars-server.key.insecure
SSLCACertificateFile /etc/apache2/ssl/my-ca.crt
3.4重啟apache服務器
apachectl stop
apachectl start
到這裡,自簽名的https服務就可以了,在浏覽器裡面打https://localhost/就可以看到浏覽器報紅啦,添加證書信任後就可以繼續訪問了
讓用戶自己安裝crt證書
到這裡沒有完呢,因為這裡CA證書使我們自己創建的,在手機裡面沒有我們的根證書啊,用手機safari還是不能訪問啊,如何解決呢。方案很簡單,就是讓用戶自己下載安裝證書先。
在服務器上把CA證書my-ca.crt文件拷貝的容器中某個可以訪問的路徑下,比如放在網站根目錄下,在你的首頁添加個下載證書的鏈接就行啦,然用戶自己下載證書安裝到手機,安裝完成就可以正常下載啦。在首頁添加html標簽
1
下載前請先安裝證書
到這裡就OK拉。
上一頁:
iOS的四種方法讀取文件內容
下一頁:
IOS UI 第四篇:基本UI
IOS開發綜合
微信支付開發IOS圖文教程案例
前言:下面介紹微信支付的開發流程的細節,圖文並茂,你可以按照
詳解IOS開發之實現App消息推送(最新)
好久沒有寫過博客啦,今天就由本菜鳥給大家做一個簡單的IOSA
iOS上使用自定義ttf字體
項目中想使用第三方的字體,在stackoverflow上
IOS編程開發
閒魚面交功能是什麼?閒魚功能閒魚的核心功能怎麼使用
求助:iPhone3G和3GS固件恢復?
iPhone6屏幕失靈怎麼辦
iphone7plus怎麼截圖?
iphone5微距拍攝技巧大全
iOS7/ios8耗電過快怎麼辦?
iOS7多任務後台隱藏技巧之快速跳轉Apps
iOS9.1/9.2/9.2.1微信BUG
使用iphone6的20個小技巧
對於糾結iphone5的用戶,為你解析iphone5和4S
相關文章
+
進修iOS全局賽馬燈
iOS仿擦玻璃後果的完成辦法
iOS9與XCode7中不克不及應用http銜接的疾速處理方法
詳解iOS獲得通信錄的4種方法
iOS集成微信付出開辟
iOS完成帶文字的圓形頭像後果
IOS開辟中鍵盤輸出屏幕上移的處理辦法
IOS 機能優化中離屏襯著
iOS在固定的label上靜態顯示一切文字
iOS開源一個簡略的訂餐app UI框架
iOS 檢測收集狀況的兩種辦法
iOS文字突變色後果的完成辦法
iOS獲得以後裝備型號等信息(全)包括iPhone7和iPhone7P
IOS Xcode中快捷鍵年夜全
總結iOS完成突變色彩的三種辦法
IOS開發基礎
IOS編程技術
IOS開發綜合
iPhone開發學習筆記002——Xib設計UITableViewCell然後動態加載
實現iOS圖片等資源文件的熱更新化(三):動態的資源文件夾
詳解iOS應用UI開發中的九宮格坐標計算與字典轉換模型
IOS 簽名錯誤codesign failed with exit code 1處理辦法
iOS開發-多線程NSOperation和NSOperationQueue
關於iOS中如何給字體加粗的問題總結
實現iOS圖片等資源文件的熱更新化(四): 一個最小化的補丁更新邏輯
IOS學習筆記(八)之UIActivityIndicatorView(活動指示器視圖)的基本概念和使用方法
UIButton的點擊事件寫成Block,AlertView的delegate寫成Block
如何使用iOS手勢UIGestureRecognizer
ios逆向
蘋果刷機越獄教程
|
IOS教程問題解答
|
IOS技巧綜合
|
IOS7技巧
|
IOS8教程
Copyright ©
Ios教程網
All Rights Reserved