IIS 7的错误“指定的登录会话不存在。它可能已被终止。”当使用HTTPS

问题描述 投票:57回答:16

我想创建客户端证书身份验证我的asp.net网站。

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

makecert.exe -r -n “CN =我的个人CA” -on -sV MyPersonalCA.pvk SHA1他2048 -len -b 2013年1月1日-e 2023年1月1日 - CY管理局MyPersonalCA.cer

然后,我必须把它导入到IIS 7,但因为它接受的.pfx格式,我首先将其转换

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

进口MyPersonalCA.pfx后,我尝试添加HTTPS站点绑定到我的网站,并选择上面的SSL证书,但我得到了以下错误:

有什么建议么?

asp.net iis ssl client-certificates
16个回答
67
投票

我碰到同样的问题跑,但固定它以不同的方式。我相信我是用从我最初打算将证书设置的地方,我返回来完成这项工作,这样就产生了问题的时间的时间改变了账户。问题是什么,我不知道,但我怀疑它有某种散列从当前用户做的,因为用户修改或重建等是在某些情况下不一致

为了解决这个问题,我拆出来IIS和证书两者的管理单元(当前用户和本地计算机)问题的证书的所有引用:

接下来,我进口* .pfx文件到证书管理单元在MMC,将其放置在本地计算机\个人节点:

  1. 用鼠标右键单击个人,下证书节点(本地计算机下作为根)
  2. 所有任务 - >导入
  3. 通过向导进入导入你的* .PFX

从这一点来说,我能够回到IIS,并发现它在服务器证书。最后,我去我的网站,编辑绑定,并选择正确的证书。它的工作,因为用户在整个过程中保持一致。

要在其他的答案中提到的一点,你不应该诉诸于将其标记为可导出的,这是一个重大的安全问题。你有效地允许任何人谁可以得到盒用一组类似的权限把你的证书与他们并导入任何其他地方。显然,这不是最佳的。


1
投票

“C:\ ProgramData \微软\加密\ RSA \ MachineKeys的”根据MSDN blog post,在当前用户帐户没有权限访问该私钥文件,该文件是文件夹下会发生这种情况。显然,这可以通过授予用户帐户/用户组的完全访问权限,以上面的文件夹来解决。

我遇到了同样的问题,并能够通过简单地重新导入.pfx文件与选择允许此证书TI出口复选框来解决它。

Import Certificate

但是,这种方法产生安全风险 - 因为谁拥有你的IIS服务器访问权限的任何用户将能够使用私钥导出证书。

就我而言,只有我可以访问我的IIS服务器 - 所以它不是一个巨大的风险。


0
投票

我设法通过导入使用Windows证书管理器的SSL证书PFX文件来解决这个问题。

http://windows.microsoft.com/en-us/windows-vista/view-or-manage-your-certificates


0
投票

我只是有这个问题,今天觉得有必要发表我的,希望你会失去比我刚刚做了头发少的解决方案。

尝试上述解决方案后,我们不得不重新发行从SSL提供商的SSL证书(颁发的RapidSSL作为GeoTrust的经销商)。

有这个过程没有成本,只是五分钟的等待,而确认电子邮件(管理员@)到了,我们再次获得了进入。

一旦我们有了反应,我们使用IIS>服务器证书安装它。我们并不需要MMC管理单元。

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

我们一直在远程桌面窗口服务器在整个开放,以避免与不同的登录帐户/会话等。我相信这是一个IIS错误作为另一专家认为,因为我们只有一个RDC帐户的任何问题。什么是最令人气愤的是,同样的证书已经两个月了完美的工作之前,突然“断裂”。


0
投票

而不是从IIS导入证书的,从MMC做到这一点。然后转到IIS绑定。


0
投票

在我来说,我最近刚刚导入的证书(IIS的PFX)从startssl如果一个新的版本,忘了删掉旧的,这在某种程度上导致该错误(现在二人的证书种类相同的)。我删除了他们两个,引进合适的一个,而现在它的工作原理。


0
投票

试图绑定本地主机PFX证书我的开发机的时候,我得到一个这个错误。之前,我想任何这上面,第一次尝试简单的东西。

  1. 关闭任何本地主机开发站点我已经打开。
  2. 停在我的IIS服务器,并关闭了经理
  3. 运行经理为管理员
  4. 增加了我所有的HTTPS绑定,没有任何错误或问题这一次。
  5. 重新启动以

一切似乎在这之后的工作。


0
投票

尝试:

  1. 进入IIS,并删除“VSTS开发路由器”网站和“VSTS开发路由器池”应用程序池。
  2. 运行“certlm.msc”,打开个人/证书
  3. 删除名为任何证书“* .vsts.me”和“vsts.me”
  4. 重新部署

48
投票

安全警告:什么复选框真正的意思是,该证书可以由用户不应该能够阅读它读取。如运行IIS工作进程的用户。在生产中使用other answer代替。

对我来说太,并通过确保固定“允许此证书导出”,当你输入检查:

(感谢this post!)


10
投票

这一定是某种IIS错误的,但我找到了解决办法。

1-出口MyPersonalCA.pfx从IIS。

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。


7
投票

大概没有人在乎这个了,但我只是面对这个问题,我的IIS 7的网站结合。我固定的方式,它是将证书颁发机构,并找到颁发给这一问题的服务器证书。我核实,申请证书的用户帐户。然后我登录到使用RDP与该帐户IIS服务器。我能重新绑定只使用该帐户的https协议。没有出口,还需要重新发行,或延长改变黑客。


5
投票

在我们的例子发生这个问题,因为我们已经安装在虚拟机中的证书和由它制成的图像以供进一步使用。

当从图像创建另一VM先前创建的证书发送消息。

为了避免这种情况,一定要安装上安装的每一个新的VM证书。


5
投票

我们不得不由于不正确地将证书导入到当前用户个人证书存储同样的问题。从当前用户个人存储删除它,将它导入到本地计算机个人证书存储解决了这个问题。


2
投票

我得到这个错误是由于出口PKCS#12证书时错误OpenSSL的命令行。 -CertFile关键是错误的。我再次导出的证书并成功导入。


2
投票

我遇到过同样的问题。通过从德个人存储(有人把它)证书,并从网站主办解决。通过IIS管理器中全部完成。然后我又加入到虚拟主机存储(一切检查),我可以再次使用HTTPS ...


2
投票

在我的情况是因为万维网发布服务的用户不具有权限的证书。安装证书后,访问MMC证书模块,然后右键单击该问题的证书。从“所有任务”菜单中选择“管理私钥...”,并添加上述用户。这是在我的情况SYSTEM用户。

© www.soinside.com 2019 - 2024. All rights reserved.