我正在尝试运行ASP模式设置为true的ASP MVC应用程序,每当我运行应用程序时,我都会立即信任IIS Express SSL证书。单击是后,它会显示错误消息'将证书添加到受信任的根证书存储失败,并显示以下错误。访问被拒绝'。我以管理员模式运行Visual Studio 2017。我还通过访问MMC删除了localhost证书。 有没有其他人遇到过这个问题。
SOLN:这对我有用。 删除所有localhost证书。在添加/删除程序中运行修复IIS Express。将localhost证书从个人/证书复制并粘贴到受信任的根证书,它不再抱怨。
答案 0 :(得分:9)
注意:从问题中添加OP的解决方案作为答案。
这对我有用。删除所有localhost证书。在添加/删除程序中运行修复IIS Express。将localhost证书从个人/证书复制并粘贴到受信任的根证书,它不再抱怨。
修复/重新安装IIS Express似乎并没有真正解决此问题(从IIS Express 10开始),真正的解决方案是将localhost证书添加到Trusted Rood Certificates。
此博客文章涵盖了有关如何执行此操作的完整详细信息:https://blogs.iis.net/robert_mcmurray/how-to-trust-the-iis-express-self-signed-certificate
总之,
答案 1 :(得分:6)
对我来说,只运行CMD> certlm并删除个人文件夹中的本地主机证书就可以了。
答案 2 :(得分:1)
如果您提供的答案不清楚,这是另一个简单的分步解决方案。
第1步:
转到Windows“开始”并键入Certificates
,然后单击Manage computer certificates
。这将打开证书管理器窗口。
第2步:
现在,单击>Personal
文件夹上的箭头,然后单击Certificates
文件夹。现在,选择并删除文件夹中的所有证书。
答案 3 :(得分:1)
这是我的第一次回答。我已经使用这种方法解决了这个问题。
然后转到个人->证书并找到本地主机
将本地主机拖到受信任的根证书颁发机构->证书
现在解决了结构列表问题,因为首先不允许导入用户证书。
因此,现在再次重新启动类型证书,而不是管理计算机证书,而是转到管理用户证书,并执行从个人到受信任的根证书颁发机构->证书的相同拖放操作。文件夹。
注意:如果从个人删除了本地主机,然后通过首先打开chrome上的Visual Studio项目将其导入,则会在地址栏左侧看到证书详细信息,然后导出该证书并导入证书到个人->证书文件夹
答案 4 :(得分:0)
经过一个星期的努力(使用Win 10和Visual Studio 2019社区版16.1.1版)并尝试了各种解决方案后,我发现了以下内容:
修复IISExpress 10(程序->程序和功能)还将在以下位置创建一个新的本地主机证书:证书(本地计算机)->个人
然后通过使用以下方法将证书保存到文件中来导出该证书:
然后将该证书导入到:证书(本地计算机)->受信任的根证书颁发机构
我还尝试使用“ dotnet dev-crts https --trust”,但是这对我不起作用,并且总是产生以下错误:
所以总结一下:确保只有1个localhost证书位于 证书(本地计算机)->受信任的根证书颁发机构
更新:我刚刚意识到修改Web应用程序几次后 出现了另一个错误,我不得不再次经历整个过程 为了使其正常工作!
答案 5 :(得分:0)
我的错误实际上是“未安装ASP.NET开发人员证书”,但是我认为下面的解决方案在这种情况下仍然可以使用。在命令提示符下执行以下命令。
dotnet dev-certs https --trust --check
echo Trust check: %errorlevel%
dotnet dev-certs https --trust -ep "%APPDATA%\ASP.NET\https\TestCert.pfx" -p TestPassword
echo Trust/Export: %errorlevel%
参考: https://github.com/Microsoft/DockerTools/issues/147#issuecomment-420433974
答案 6 :(得分:0)
我对此一无所知,想分享我在苦苦挣扎并阅读了许多帖子后找到的解决方案。它与sanjeev发布的内容非常相似,但是有更多详细信息,因此,如果您是新手(我本人),则可以更快地解决它。
如果您在Visual Studio 2019和Win 10中遇到此问题,请在MMC上删除所有本地主机证书: (1)cmd>以管理员身份运行>键入“ mmc”,然后按Enter (2)文件>添加/删除管理单元... (3)选择“证书”,然后单击“添加”按钮 (4)选择选项“计算机帐户”和“本地计算机” (5)控制台根文件夹>单击并展开证书 (6)删除不同文件夹中的所有localhost证书
然后在“控制面板”>“程序和功能”中,在列表中找到IIS 10.0 Express,右键单击并选择“修复”。这将在“证书”的“个人”文件夹中创建一个新的本地主机证书(在以前使用的MMC窗口中-不要忘记刷新以查看此新证书)
将此证书复制(右键单击证书)放在“个人”文件夹中,并将其粘贴到“受信任的根证书颁发机构”>“证书”文件夹中
从“个人”文件夹中删除本地主机证书。在“受信任的根证书颁发机构”文件夹中应该只有一个本地主机证书
在此之后,它应该可以正常工作,希望您觉得有用
答案 7 :(得分:0)
您可以使用powershell将证书从个人存储区移到受信任的(根)存储区。
$cert = (Get-Childitem cert:\LocalMachine\My | Where-Object { $_.subject -eq 'localhost' }).Thumbprint
copy-item -path cert:\LocalMachine\My\$cert -Destination cert:\LocalMachine\Root\
答案 8 :(得分:0)
如果有人在使用 docker 时遇到此错误,很可能这不是真正的问题,您必须查看输出才能找到它。
就我而言,它在 UserSecretID
文件中缺少 .csproj
,但显示了此错误。