iOS7.1企业应用"无法安装应用程序 因为证书无效"的解决方案
StackOverFlow
今天升级了iOS7.1后发现通过之前的url无法安装企业应用了,一直提示“无法安装应用程序 因为证书无效”,折腾了一番,终于在StackOverFlow上找到了答案。在这里分享给大家。 StackOverFlow链接: 原因是由于iOS7.1要安装企业应用,url必须是https的,不能是http应用程序无效,这就要求我们的服务器要支持https。因此,只要将原链接: [plain] itms-services://?action=download-manifest&url=http://example.com/manifest.plist 改为 [plain] itms-services://?action=download-manifest&url=https://example.com/manifest.plist 即可。 对于服务器,则需要增加对https的支持,本人用的是apache服务器,所以在这里以apache服务器为例: 1.安装配有SSL模块的apache版本,本人使用的是httpd-2.0.65-win32-x86-openssl-0.9.8y 2.打开apache的配置文件conf/httpd.conf,去掉以下内容前的# [plain] LoadModulessl_modulemodules/mod_ssl.so 并在文件最后加上: [plain] ServerAdminzhaoxinyan12@mails.tsinghua.edu.cn(随意) DocumentRootD:/Server(服务器根目录) ServerName166.111.81.xxx(服务器域名或ip地址) ErrorLoglogs/test-error_log CustomLoglogs/test-access_logcommon SSLEngineon SSLCertificateFile"D:/ProgramFiles/ApacheGroup/Apache2/conf/ssl.crt/server.crt"(之后生成证书的完整路径) SSLCertificateKeyFile"D:/ProgramFiles/ApacheGroup/Apache2/conf/ssl.key/server.key"(之后生成密钥的完整路径) 3. 修改conf/ssl.conf文件的以下内容:(以下为修改完的,大家可以参考下) [plain] #SSLSessionCachenone #SSLSessionCacheshmht:logs/ssl_scache(512000) SSLSessionCacheshmcb:logs/ssl_scache(512000) #SSLSessionCachedbm:logs/ssl_scache ... SSLCertificateFileconf/ssl.crt/server.crt ... SSLCertificateKeyFileconf/ssl.key/server.key 4. 在conf目录下创建ssl.crt和ssl.key目录(不创建也行,只要保证以上两个路径和之后的文件路径对应即可) 5. 在命令行下切换到apache目录下的bin目录,运行以下命令 生成服务器的私钥: [plain] opensslgenrsa-outserver.key1024 6. 生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名): [plain] opensslreq-new–outserver.csr-keyserver.key-config..\conf\openssl.cnf 7.生成CA私钥: [plain] opensslgenrsa-outca.key1024 8.利用CA的私钥产生CA的自签署证书(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名): [plain] opensslreq-new-x509-days365-keyca.key-outca.crt-config..\conf\openssl.cnf 9.在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts。 10.CA为网站服务器签署证书: [plain] opensslca-inserver.csr-outserver.crt-certca.crt-keyfileca.key-config..\conf\openssl.cnf 11. 最后将server.crt,server.key复制到上文对应的路径下: [plain] conf/ssl.crt/server.crt conf/ssl.key/server.key 12. 重启Apache服务器,即增加了https的支持。可以在浏览器访问试试。如果不行,可以在logs\test-error_log文件中看看出了什么错误。 13. 最后,我们要将自己创建的CA证书安装到iphone上。将第10步生成的ca.crt文件通过邮件发送到iphone上,用自带的Mail程序(别的程序不行)打开安装即可。 14. 现在,再次访问我们之前的itms-services链接,就可以正常安装了。 转载 : (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |