iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
来源:互联网 发布:淘宝买的东西在哪好评 编辑:程序博客网 时间:2024/05/23 19:16
今天升级了iOS7.1后发现通过之前的url无法安装企业应用了,一直提示“无法安装应用程序 因为http://xxx.xxx.xxx证书无效”,折腾了一番,终于在StackOverFlow上找到了答案。在这里分享给大家。
StackOverFlow链接:http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22325916#22325916
原因是由于iOS7.1要安装企业应用,url必须是https的,不能是http,这就要求我们的服务器要支持https。因此,只要将原链接:
- itms-services://?action=download-manifest&url=http://example.com/manifest.plist
改为
- itms-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.8y
2. 打开apache的配置文件conf/httpd.conf,去掉以下内容前的#
- LoadModule ssl_module modules/mod_ssl.so
并在文件最后加上:
- <VirtualHost *:8080>
- ServerAdmin xxx@mail.xxx.com(邮箱地址,随意)
- 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文件的以下内容:(以下为修改完的,大家可以参考下)
- #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
5. 在命令行下切换到apache目录下的bin目录,运行以下命令
生成服务器的私钥:
- openssl genrsa -out server.key 1024
- openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
- openssl genrsa -out ca.key 1024
- openssl 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为网站服务器签署证书:- openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
- conf/ssl.crt/server.crt
- conf/ssl.key/server.key
13. 最后,我们要将自己创建的CA证书安装到iphone上。将第10步生成的ca.crt文件通过邮件发送到iphone上,用自带的Mail程序(别的程序不行)打开安装即可。
14. 现在,再次访问我们之前的itms-services链接,就可以正常安装了。
这种方法如果大家觉得麻烦的话可以把plist和ipa传到dropbox上,获取静态链接,因为dropbox的服务器支持https且有第三方发布的证书,唯一的缺点是国内可能会慢一些。
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的完美解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案 linux tomcat ssl
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的完美解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- iOS7 企业应用"无法安装应用程序 因为证书无效"的解决方案
- tomcat下解决 iOS7.1企业应用"无法安装应用程序 因为证书无效"的问题
- Android自定义控件 于笔者-开天辟地的大事(一)
- 使用 Storyboard Segue 实作 UIViewController 的切换 (实例)
- 人,一简单就快乐,但快乐的人寥寥无几
- sql server 版本号(sql version number)
- NSLayoutConstraints VFL笔记
- iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
- 目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)
- Asp网页的EnableViewState属性对网页性能的影响
- <<python computer vision with opencv>> chapter 2
- json的综合使用(一)
- 自己写的一段解决ARRAYLIST批量接口调用以后乱序的代码
- redis命令执行流程分析
- U盘出现了0字节怎么找回数据
- Bootstrap progressbar animation ditrction set