apache http server2.0.65 + openSSL 配置IOS7.1下无线安装ipa的环境

来源:互联网 发布:单片机编程的书 编辑:程序博客网 时间:2024/05/21 04:22

参考文章:
http://blog.csdn.net/zhaoxy_thu/article/details/21133399
http://www.linuxidc.com/Linux/2010-02/24456.htm

  1. 安装所需的软件:
    Apache Http Server2..0.65  + OpenSSL,我在官网下载的文件名是 httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
    下载地址:http://mirror.bit.edu.cn/apache//httpd/binaries/win32/httpd-2.0.65-win32-x86-openssl-0.9.8y.msi
  2. 生成服务器证书:(cmd下进入apache安装目录下的bin目录)
    a. 生成服务器用的私钥文件 server.key
         openssl genrsa -out server.key 1024
    b. 生成未签署的server.csr
         openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf
         注意:
             1)  Common Name必须和httpd.conf 中 ServerName必须一致,否则apache不能启动。其他字段可以为空
              2)  之后所有的ServerName的值都要和这里填写的一样,否则证书验证不给通过。

  3. 签署服务器证书server.crt
    a. 生成CA私钥
         openssl genrsa  -out ca.key  1024
    b. 利用CA的私钥产生CA的自签署证书

         openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf
         以上签署证书仅仅做测试用,真正运行的时候,应该将CSR发送到一个CA返回真正的用书.
         网上有些文档描述生成证书文件的过程比较繁琐,就是因为他们自己建立了一个CA中心证书,然后再签署server.csr.
         用openssl x509 -noout -text -in server.crt可以查看证书的内容。证书实际上包含了Public Key.
    c. CA为网站服务器签署证书
        openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
  4. 正确放置生成的server.crt和server,key
    在当前目录(bin目录下)创建demoCA,里面创建文件index.txt和serial以及文件夹newcerts,serial内容为01,index.txt为空.
  5. 配置httpd.conf
    a. 配置VirtualHost标签 (在文件的末尾,默认是被注释掉的,打开即可)
        <VirtualHost *:80>
           ServerAdmin  邮件地址,随便写,但不能为空
           DocumentRoot  根路径
           ServerName 和之前生成证书时的CommonName字段一致
           ErrorLog logs/dummy-test-error_log
           CustomLog logs/dummy-test-access_log common
           SSLEngine on
           SSLCertificateFile server.crt的完整本地路径
           SSLCertificateKeyFile server.key的完成本地路径
       </VirtualHost>
        ps. crt和key的文件路径可以自定义,只要前后保持一致就可以了
    b. <Directory "根目录">   同DocumentRoot 的值一致
    c. 移除注释行
         LoadModule ssl_module modules/mod_ssl.so
         注意到ssl.conf的配置都在标签<IfDefine SSL>中,所以为了使IfDefine 指令有效,运行apache 的时候要加上 -D SSL 参数。
    d. 启动服务器
        apache -D SSL -k start (之后每次启动最好都使用命令行启动,否则会访问不了)
  6. 配置ssl.conf
    DocumentRoot  目录和httpd.conf中的配置一致
    ServerName 同上
  7.  安装证书到浏览器
    在浏览器中访问https://(ip地址),浏览器还是会报连接错误,需要再将证书导入到浏览器的证书信任列表中,
    操作步骤就是双击ca.crt,一步步按照提示完成即可
    安装完成后重启服务器,重启浏览器,否则浏览器还是无法识别证书。
  8. 在iphone中用safiri打开https://ip,访问生成的ca.crt,安装在iphone上,然后访问之前的安装连接即可在线安装。
    如果设备没有安装ca.crt,设备会拒绝访问https的地址,直接弹出提示框 无法连接到ip。
0 0
原创粉丝点击