ios7.1之后只能用https下载了,公司又不舍得花钱买ssl证书。Google出的自签名解决方案:用openssl生成CA,把此CA导入到ios终端安装,以此解决认证Safari的认证问题。用此CA生成证书,然后把证书打包成iis识别的pfx格式,详细命令如下:
以下命令为openssl命令,mac自带。 创建自己的Certificate Authority 1.创建private key openssl genrsa -out myCA.key 2048 2.创建certificate openssl req -x509 -new -key myCA.key -out myCA.cer -days 999 -subj /CN="MyCA" 3.把生成的myCA.cer文件导入到IOS设备中。 利用刚才生成的CA颁发iis下的pax证书文件 1.创建private key openssl genrsa -out mycert.key 2048 2.创建CSR, 这里的 CN 指的是要部署的服务器的 ip 地址。 openssl req -new -out mycert.req -key mycert.key -subj /CN=172.20.100.30 3.颁发证书 openssl x509 -req -in mycert.req -out mycert.cer -CAkey myCA.key -CA myCA.cer -days 999 -CAcreateserial -CAserial serial 4.创建pfx证书文件,会要求输入密码,此密码在导入到iis服务器时使用: openssl pkcs12 -export -out mycert.pfx -inkey mycert.key -in mycert.cer
5.如果iis部署后,safari不能直接安装myCA.cer,转成myCA.pem,添加mime头为 application/x-pem-file
openssl x509 -in myCA.cer -out myCA.pem
生成的myCA.cer上传到Server上,可以直接用safari下载(如果不能下载可以参考第5步)。
今天用itouch5的safari下载安装总是提示无法打开,但是ipad可以正常安装,touch系统时7.1,升级到7.1.2后正常,不知道为什么。
----------------------分割线------------------
iis下需要手动添加各种mime头,有时候配置文件不管用,比如该死的iis6.