使用openssl建立自簽名證書及部署到IIS教程

概要

本文講解三個部分:
1. 建立自簽名證書
2. 建立本身的證書頒發機構
3. 以及如何配置IIShtml

 

建立自簽名證書

首先,建立一個私鑰文件:git

openssl genrsa -out myselfsigned.key 2048

而後利用私鑰建立自簽名證書:服務器

openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 36500

執行上面的兩個操做以後會提示輸入如下幾個內容(爲了顯示正常儘可能使用英文):工具

  1. Country Name (2 letter code) [AU]:CN //國家簡稱
  2. State or Province Name (full name) [Some-State]:GuangDong //州或省的名字
  3. Locality Name (eg, city) []:ShenZhen //區或市縣的名稱
  4. Organization Name (eg, company) [Internet Widgits Pty Ltd]:Comapny //公司或組織名
  5. Organizational Unit Name (eg, section) []:Mobile //單位或者是部門名稱
  6. Common Name (e.g. server FQDN or YOUR name) []:xxxxxx //域名或服務器名或IP
  7. Email Address []:xxxxx@gmail.com //Email地址

注, 上述可直接在命令中用-subj跟在語句後面, 如:
openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 36500 -subj /CN=域名或服務器名或IP測試

至此, 生成的myselfsigned.cer分別應用到服務器端以及客戶端(經過郵件, 連接等方式下發), 便可使用, 配置IIS見下文網站

 

建立本身的證書頒發機構(CA)

即便是測試目的, 也會出現有多個站點須要自定義證書的狀況, 不可能要求用戶每一個站點裝一個 咱們何不把本身添加成一個證書頒發機構(CA), 而後把這個證書裝給客戶端, 那麼由這個CA頒發的證書都會被自動信任. code

首先, 用一樣的語法建立一個證書, 咱們把名字取明確一些, 就叫myCA吧(跟第一步生成普通證書是同樣同樣的, 只是此次咱們把它理解成一個證書頒發機構)server

openssl genrsa -out myCA.key 2048
openssl req -new -x509 -key myCA.key -out myCA.cer -days 36500

而後, 基於這個證書生成一個證書請求(CSR), (一樣, 先生成一個key, 要用key來請求)htm

openssl genrsa -out server.key 2048
openssl req -new -out server.req -key server.key -subj /CN=域名

注:
1. 一旦域名配置了, 用不一樣於這個域名的主機名來請求, 就會校驗失敗
2. 這裏用到了上面說的-subj參數教程

最後, 經過服務器證書(咱們理解的CA), 對這個簽發請求進行簽發

openssl x509 -req -in server.req -out server.cer -CAkey myCA.key -CA myCA.cer -days 36500 -CAcreateserial -CAserial serial

 

配置IIS

咱們的使用場景是IIS伺服了一個靜態文件服務器(沒錯, 是用來放iOS企業部署的的plist和ipa文件的), 作到以下幾步

轉化證書格式

IIS導入證書須要轉化爲pkcs12格式(X509格式?), 中間會詢問一次密碼, 牢記, 或者與導出的文件一塊兒保存

openssl pkcs12 -export -clcerts -in server.cer -inkey server.key -out iis.pfx

如今總結一下, 目前爲止, 除去key和csr, 生成了myCA.cerserver.cer 和iis.pfx三個文件 

將myCA.cer添加爲」受信任的根證書頒發機構」

打開IE > 工具 > Internet選項 > 內容 > 證書 > 受信任的根證書頒發機構 > 導入 > 選擇iis.pfx > 輸入密碼 > 導入

添加服務器證書

這須要兩個步驟

首先, 在IIS管理器(inetmgr)的根目錄上(就是機器名), 選擇」服務器證書」, 導入咱們剛纔用server.cer生成的iis.pfx, 即給IIS添加了一個證書(若是有多個, 重複以上步驟)

而後, 找到網站節點, 右鍵, 「編輯綁定」, 添加一個供https訪問的端口(默認是443), 此時會要求你選擇一個證書, 把剛纔經過管理器添加的證書名選出來, 便可.

最後, 把server.cer通用大家企業本身的方式頒發給須要使用的客戶端(郵件, 連接等, 都可), 若是是iPhone, 點擊了server.cer文件後, 會導航到設置裏面安裝, 安裝並信任後, 在設置 > 通用 > Profiles裏面能夠看到你信任的證書使用openssl建立自簽名證書及部署到IIS教程

相關文章
相關標籤/搜索