iOS7.1 企业级https发布解决办法

openssl使用的是macos系统自带的版本,关键点是不能直接使用ios设备打开https的链接,需要将证书发到系统的mail里,安装到设备,
如果命令执行不成功,用sudo执行。

1.生成服务器的私钥
openssl genrsa -out server.key 1024

2.生成签署申请(注意除Common Name以外可以为空,Common Name必须为服务器的ip或域名)
openssl req -new -key server.key -out server.csr

3.生成CA私钥
openssl genrsa  -out ca.key 1024 

4.利用CA的私钥产生CA的自签署证书
openssl req  -new -x509 -days 365 -key ca.key -out ca.crt

5.在当前目录创建demoCA,里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
将ca.crt文件通过邮件发送到ios设备的Mail上,进行证书的安装
/private/etc/apache2/httpd.conf  ,编辑这个文件去掉下面三行前面的 '#'
LoadModule ssl_module libexec/apache2/mod_ssl. so
Include  / private /etc/apache2/extra/httpd-ssl.confInclude/private/etc/apache2/extra/httpd-vhosts.conf


/private/etc/apache2/extra/httpd-ssl.conf ,编辑这个文件去掉下面两行前面的 '#'
SSLCertificateFile "/private/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile  "/private/etc/apache2/ssl/server.key"

/private/etc/apache2/extra/httpd-vhosts.conf  ,编辑这个文件在 'NameVirtualHost*:80' 后面添加:
NameVirtualHost *:443
在文件末尾添加:

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /private/etc/apache2/ssl/server.crt
    SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
    ServerName localhost
    DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>

到这里就配置完了,检查配置,没问题的话重启Apache就好了
sudo apachectl configtest
sudo apachectl restart

你可能感兴趣的:(iOS7.1 企业级https发布解决办法)