天天看點

iOS7.1企業應用"無法安裝應用程式 因為證書無效"的完美解決方案

原文位址 :http://blog.csdn.net/lgm252008/article/details/21244997   

在不釋出情況下,IOS7.1安裝開發版IPA,供測試使用:

    需要ssl支援,必須生成ca.crt (供終端授信證書使用) , server.crt server.key配置到本地開發伺服器使用

  http://127.0.0.1/apptest/dev.html 通路跳轉即可打開安裝

 一、生成服務端密鑰及證書,首先伺服器安裝openssl并且nginx已支援ssl。

    生成伺服器的私鑰:

[objc]  view plain copy

  1. openssl genrsa -out server.key 1024    

    生成簽署申請(注意除Common Name以外可以為空,Common Name必須為伺服器的ip或域名):

[objc]  view plain copy

  1. openssl req -new –out server.csr -key server.key  

    生成CA私鑰 [objc]  view plain copy

  1. openssl genrsa  -out ca.key 1024    

   利用CA的私鑰産生CA的自簽署證書(注意除Common Name和organizationName以外可以為空,Common Name必須為伺服器的ip或域名,organizationName必須和上一次次一緻): [objc]  view plain copy

  1. openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  

   在目前目錄建立demoCA,裡面建立檔案index.txt和serial,serial内容為01,index.txt為空,以及檔案夾newcerts。

   CA為網站伺服器簽署證書:

[objc]  view plain copy

  1. openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key  

  最後将server.crt,server.key複制到上文對應的路徑下: [objc]  view plain copy

  1. /data/web/server.crt  
  2. /data/web/server.key  

注: 最後,我們要将自己建立的CA憑證安裝到iphone上。将第10步生成的ca.crt檔案通過郵件發送或網址下載下傳安裝到iphone上,用自帶的Mail程式(别的程式不行)打開安裝即可。

Nginx配置如下:

map $scheme $fastcgi_https {

  default off;

  https on;

}

server {

    #listen 443;

    listen              443      ;

    ssl on;

    ssl_certificate /data/web/server.crt;

    ssl_certificate_key /data/web/server.key;

    server_name 127.0.0.1;

    root        /data/default/;

    index       index.php index.shtml index.html;

    access_log  /var/log/httpd/nginx-access.log test;

    error_log   /var/log/httpd/nginx-error.log;

    ssl_session_timeout  5m;

    location ~* .*\.php$ {

        include         Configs/fcgi-php.conf;

        fastcgi_pass    127.0.0.1:9000;

    }

}