当使用https时,IIS 7出现错误“指定的登录会话不存在。可能已经终止。”

98

我试图为我的asp.net网站创建客户端证书认证。

为了创建客户端证书,我需要首先创建一个证书颁发机构:

makecert.exe -r -n “CN=My Personal 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 证书,但我收到以下错误:

在此输入图片描述

有什么建议吗?


我有一些问题。 - Adnane ARHARBI
24个回答

4

大家好,尝试了几乎所有的解决方案却始终未果。最终我找到了解决“使用https时出现‘指定的登录会话不存在,可能已经终止’”的方法如下:

  1. 验证您的pfx证书是否健康,并具有正确的私钥。

  2. 运行certutil并查找证书的“唯一容器名称” - 我使用了certutil -v -store my命令。

3.导航至C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys并找到对应于上述容器名称的系统文件。

  1. 检查权限并确保“system”对文件拥有完全控制权。

应用后,我检查了IIS,成功应用了https而没有错误。


1
我可以亲吻你! - blizz
检查权限并确保“系统”对文件拥有完全控制权。-- 修复了这个问题 - undefined

3
我因为导出PKCS #12证书时openssl命令行错误而遇到了这个错误。其中-certfile选项是错误的。我重新导出了证书,然后成功地导入了它。

2

当我尝试使用以下PowerShell命令时,收到了这个错误消息:

(Get-WebBinding -Port 443 -Name
"WebsiteName").AddSslCertificate("<CertificateThumbprint>", "My")

对我来说解决方法是进入证书管理器并授予IIS_IUSRS用户查看证书的权限。

以下是我遵循的步骤:

  • 将证书移动到[个人 > 证书]中
  • 右键单击[所有任务 > 管理私钥]
  • 添加IIS_IUSRS用户(如果您连接到域,则位于本地计算机而不是域中)
  • 授予读取权限

2

我曾经遇到同样的问题。通过在IIS管理器中删除个人存储库中的证书(有人将其放入其中)和Web托管中的证书来解决问题。然后我再次将证书添加到Web托管存储库(勾选了所有内容),现在我可以再次使用HTTPS了...


2

以下是我成功的步骤:

第一步:打开运行窗口,输入“mmc”

第二步:点击“文件”>“添加/删除管理单元”

第三步:选择“添加”>“证书”,然后点击“确定”

第四步:选择“计算机帐户”,然后选择“本地计算机”并继续。

第五步:点击“确定”

第六步:右键单击“证书”文件夹:控制台根目录 > 证书(本地计算机)> 个人 > 证书

第七步:选择“所有任务”>“导入”(请注意,在下一个窗口中选择“本地计算机”)

第八步:浏览您的.pfx文件

第九步:然后转到IIS并创建https绑定


1
当我试图为我的开发机绑定本地主机pfx证书时,出现了这个错误。在尝试上述任何操作之前,我先尝试了一些更简单的方法。
  1. 关闭所有我打开的本地主机开发站点。
  2. 停止我的IIS服务器并关闭管理器。
  3. 以管理员身份运行管理器。
  4. 添加所有https绑定,这次没有错误或问题。
  5. 重新启动iis。
之后似乎一切正常。

1

在我的情况下,我使用certutil -repairstore命令进行修复。当我尝试使用powershell将证书添加到IIS的Web绑定时,我遇到以下错误:

指定的登录会话不存在。可能已经被终止。

我通过运行以下命令来解决了这个问题:

certutil.exe -repairstore $CertificateStoreName $CertThumbPrint

其中CertificateStoreName是存储名称,CertThumbPrint是导入证书的指纹。


1

在绑定证书时,我遇到了相同的错误,但是在通过mmc控制台删除证书并重新导入后问题得到解决。


1
为什么它被修复了的任何解释都会更有帮助。 - Umang

0

0

今天我遇到了这个问题,我觉得有必要发布我的解决方案,希望你们不会像我一样掉太多头发。

在尝试了上面的解决方案之后,我们不得不重新从SSL提供商(RapidSSL作为GeoTrust的转售商)颁发SSL证书。

这个过程没有任何费用,只需要等待五分钟确认邮件(admin@)到达,我们就可以再次访问了。

一旦我们得到了响应,我们使用IIS>服务器证书进行安装。 我们不需要MMC快照。

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO5757

我们一直保持着远程桌面窗口与服务器的连接,以避免不同登录账户/会话等问题。我确信这是一个IIS的bug,另一位专家也认为如此,因为我们只有一个远程桌面连接账户。最令人恼火的是,这个完全正常运作了两个月的证书突然就“失效”了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接