asp.net web api 使用自簽名SSL證書
1自簽名SSL證書的創建
創建自簽名SSL工具xca為:https://sourceforge.net/projects/xca/
創建過程
1)創建根證書
打開軟件,界面如下。
點擊,看到下拉菜單,選擇,創建新的數據庫。
給文件命名,選擇文件存儲的位置,這裏我放在了E:\CA這個文件夾下
點擊保存,彈出下頁,填寫密碼
點擊ok,彈出下頁
點擊,彈出下頁
簽名算法改為SHA 256,其他不變,點擊,然後點擊ok,彈出下頁
點擊,填寫信息,如下:
點擊,彈出下頁
確認無誤,點擊,成功顯示下頁
點擊ok,顯示下頁
點擊ok,創建成功顯示下頁
點擊ok,至此成功生成了根證書。
2)創建服務端證書
在上述根證書創建成功的基礎上,選中已生成的根證書。
點擊,彈出下頁
修改加密算法為SHA 256,證書模板有三個,選擇
點擊,點擊ok,彈出下頁
其他操作與生成根證書類似,生成好了以後,頁面如下:
3)創建客戶端證書
與創建服務端證書基本一致,不同的是選擇
2 導出證書
選中證書,點擊
選擇文件夾和導出格式,導出格式有多種,根據需求導出。
3 IIS中安裝證書
註意同一個證書不要安裝多次,若要重裝,那麽先刪除已安裝的證書。
打開IIS,點擊根目錄,雙擊
右鍵,彈出菜單,點擊完成證書申請,即紅框部分
彈出頁,選擇生成好的證書(證書需要以格式導出)
命名並點擊確定
至此,不同的IIS會有不同的反應,有些服務器導入成功,有些服務器報錯:
有的導入似乎成功,但刷新頁面,導入的證書消失。對於這種情況,導入證書後別刷新,右鍵查看證書,截圖如下:
針對上述兩種錯誤的解決辦法是:
1 )報錯的解決方案是
先將證書安裝到計算機受信區,然後打開證書管理器,即開始處運行:
選中證書,右鍵操作如圖所示。
選擇
依提示操作,到輸入密碼時,這裏指的就是創建證書的密碼
輸入正確的密碼,依提示操作即可。
但是有些計算機即使正常安裝了證書,也無法導出,如下圖,導出私鑰為不可選。
解決辦法是,在安裝證書的時候,要勾選對應選項,如下圖所示:
2)雙擊證書(針對.cer格式或.p12格式),按提示安裝,選擇自動存儲模式
這種方法不起作用,安裝完依然不可用,截圖如下。
選擇,這種方式指定存儲區也不起作用。
要導出格式,然後雙擊安裝才可以。
4 訪問自簽名Https網站
一般添加安全例外就可以,但是有些會顯示不全,解決辦法是:
例如火狐瀏覽器中,點擊暫時解除保護。這是因為https請求返回的頁中含有http的請求,這種混合類型的被瀏覽器認為是不安全的。
asp.net web api 使用自簽名SSL證書