Asp.net

IIS 7 錯誤“指定的登錄會話不存在。它可能已被終止。”使用 https 時

  • February 19, 2013

我正在嘗試為我的 asp.net 網站創建客戶端證書身份驗證。

為了創建客戶端證書,我需要先創建一個證書頒發機構:

makecert.exe -r -n “CN=我的個人 CA” -pe -sv MyPersonalCA.pvk -a sha1 -len 2048 -b 01/01/2013 -e 01/01/2023 -cy authority MyPersonalCA.cer

然後,我必須將它導入 IIS 7,但由於它接受 .pfx 格式,我先轉換它

pvk2pfx.exe -pvk MyPersonalCA.pvk -spc MyPersonalCA.cer -pfx MyPersonalCA.pfx

導入 MyPersonalCA.pfx 後,我嘗試將 https 站點綁定添加到我的網站並選擇上述作為 SSL 證書,但我收到以下錯誤:

在此處輸入圖像描述

有什麼建議?

這一定是某種 IIS 錯誤,但我找到了解決方案。

1-從 IIS導出MyPersonalCA.pfx 。

2-將其轉換為**.pem**:

openssl pkcs12 -in MyPersonalCA.pfx -out MyPersonalCA.pem -nodes

3-將其轉換回**.pfx**:

openssl pkcs12 -export -in MyPersonalCA.pem -inkey MyPersonalCA.pem -out MyPersonalCA.pfx

4-將其導入IIS

我遇到了同樣的問題,但以不同的方式修復了它。我相信我使用的帳戶從我最初嘗試設置證書到我返回完成工作的時間發生了變化,從而產生了問題。問題是什麼,我不知道,但我懷疑它與目前使用者的某種雜湊有關,並且在某些情況下不一致,因為使用者被修改或重新創建等。

為了解決這個問題,我從 IIS 和證書管理單元(針對目前使用者和本地電腦)中刪除了相關證書的所有引用:

IIS 證書

mmc.exe –> 添加/刪除管理單元,選擇證書,然後選擇本地電腦或目前使用者

接下來,我將 *.pfx 文件導入到 MMC 中的 certs 管理單元中,並將其放置在 Local Computer\Personal 節點中:

  1. 右鍵點擊個人下的證書節點(在本地電腦下作為根)
  2. 所有任務 -> 導入
  3. 通過嚮導導入您的 *.pfx

從那時起,我能夠返回 IIS 並在伺服器證書中找到它。最後,我訪問了我的站點,編輯了綁定並選擇了正確的證書。它之所以有效,是因為使用者在整個過程中都是一致的。

對於另一個答案中提到的這一點,您不必將其標記為可導出,因為這是一個主要的安全問題。您實際上允許任何可以使用類似權限進入該框的人隨身攜帶您的證書並將其導入其他任何地方。顯然這不是最優的。

引用自:https://stackoverflow.com/questions/14953132