IIS下調用證書出現異常的解決方法 (C#)。本站提示廣大學習愛好者:(IIS下調用證書出現異常的解決方法 (C#))文章只能為提供參考,不一定能成為您想要的結果。以下是IIS下調用證書出現異常的解決方法 (C#)正文
作者:similar
這篇文章主要為大家詳細介紹了IIS下調用證書出現異常的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下程序發布前,跑在vs上是沒問題的,當發布後,程序就報錯了。通過系統日志找到了錯誤所在:證書調用時出現了異常。原因是:在IIS上調用證書是需要配置的,具體配置如下:
一. 確保證書已安裝
1. 點擊 [開始] -> [運行] -> 鍵入[mmc] 進入“控制台”界面 -> 選擇[文件] -> [添加/刪除管理單元]
2. 選擇[證書] -> [計算機賬戶] -> [下一步] -> [完成]
3. 選擇[個人] -> [證書] -> [所有任務] -> [導入] 。如果證書已存在則跳過此步驟,不用做導入操作。
二. 修改IIS上對應項目的程序池標識
1. 打開IIS -> 選擇[應用程序池] -> 選中對應的項目 -> 選擇右側的[高級設置]
2. 找到[進程模型] -> 修改[標識]屬性值
3. 將 ApplicationPoolIdentity 修改為 NetworkService
三. 對證書進行授權
1. 下載並安裝 winhttpcertcfg.exe 工具(Windows HTTP Services Certificate Configuration Tool)。安裝完成後該工具在C:\Program Files (x86)\Windows Resource Kits\Tools 或者C:\Program Files\Windows Resource Kits\Tools 文件夾下。
2. 打開[開始] -> [運行] ->鍵入[cmd]
3. 在控制台中輸入指令 cdC:\Program Files (x86)\Windows Resource Kits\Tools 按[回車]鍵,進入工具所在目錄
4. 進入指定目錄後,輸入指令 winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "證書名稱" -a "IIS程序池標識"
5. 按[回車]鍵,執行指令
成功後結果如下圖:
關於指令的一點說明:
winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "證書名稱" -a "IIS程序池標識"
-g 代表授權
-c 代表證書在計算機上安裝存儲位置
-s "證書的名稱" (證書名稱如何查看?如下圖:)
-a "IIS程序池標識" (上面我們將iis程序池標識改成了NetworkService) 所以是 -a "NetworkService"
參考博文:記ASP.NET 使用 X509Certificate2 出現的一系列問題
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。