1

升级到 Windows 11 后,本地 ASP.Net 应用程序不再提示我输入 CAC,因此我无法通过 https 访问该站点。我可以通过http很好地访问它。我环顾四周,我的绑定设置为一个友好名称为“IIS Express Development Certificate”的证书,但是当我在我的证书存储或我相信它颁发的“localhost”中查找它时,它没有出现。所以我继续通过powershell创建了一个新的自签名证书:

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "localhost" -FriendlyName "IIS Dev Express Take 2" -NotAfter (Get-Date).AddYears(10)

我将其复制到我的证书存储中我受信任的根证书颁发机构和中间颁发机构文件夹中,并在我的绑定中选择了这个新证书,但仍然有同样的问题。在这一点上,我不确定我还能尝试什么来解决这个问题。

由于我已经为此工作了几天,因此只需添加一点:

我已经尝试多次删除和添加服务器证书,将它们从我的个人存储复制到受信任的存储和中间存储等。我尝试复制同事的 applicationhost.config 文件,或者至少复制特定于身份验证的部分那和我的不一样。我尝试直接从 Visual Studio 运行该站点,而不是在 IIS 中独立运行。我什至尝试删除并重新添加 IIS Express,它重新生成了最初安装的 IIS Express 开发证书。我做什么似乎并不重要。该应用程序具有以下内容:

 _cert = Context.Request.ClientCertificate;
                        if (_cert.IsPresent)
                        {
                            transferCACLoginToConsent = ProcessCAC();
                        }

但它永远不会进入内部代码,因为 Context.Request.ClientCertificate 在我逐步执行此操作时始终评估为 false,并且不会提示用户输入 CAC/客户端证书。

4

0 回答 0