我正在经历WIF training kit。尝试通过STS站点登录时出现以下错误。我点击登录,然后我被重定向到STS网站,我看到了No certificate was found for subject Name CN=IdentityTKStsCert
答案 0 :(得分:3)
要处理Microsoft练习,您需要设置环境(使用正确的证书)。请按照以下设置说明(从Microsoft链接提取(现已过时) - http://msdn.microsoft.com/en-us/gg271381)安装所请求的证书。可以在页面右上角的找到设置的源文件 here。
您必须执行以下步骤为本实验准备计算机。
注意:此过程可能需要提升。 .dep 扩展名在安装期间与Dependency Checker工具相关联。有关设置过程以及如何安装Dependency Checker工具的其他信息,请参阅培训套件的 Assets 文件夹中的 Setup.docx 文档。
注意:如果您已有其他应用程序需要的“localhost”证书,请确保在继续安装实验室证书之前制作备份副本。
证书安装完成
注意:如果您运行的是Windows 7或Windows 2008 R2,则可能看不到此窗口。
注意:除了设置脚本之外,在本实验的 Source \ Setup 文件夹中,还有一个 Cleanup.cmd 文件您可以使用它来卸载安装脚本安装的所有代码段。
答案 1 :(得分:0)
如果您运行'mmc'(开始 - >运行 - >'mmc'),您应该能够进入计算机帐户的证书管理单元(文件 - >添加\删除管理单元)并检查Personal \ Certificates是否具有IdentityTKStsCert条目。
如果是,请尝试从web.config条目中删除'CN =',如此(隐藏其他identityModel配置条目):
<microsoft.identityModel>
<serviceCertificate>
<certificateReference x509FindType="FindBySubjectName" findValue="IdentityTKStsCert" storeLocation="LocalMachine" storeName="My" />
</serviceCertificate>
</microsoft.identityModel>
最后,您可能希望确保IIS可以访问私钥。回到IIS的“证书”管理单元中,右键单击证书并选择“所有任务” - >“管理私钥”,如果不存在,则添加IIS_IUSRS。 (这只适用于IIS 7,我相信,正如您标记的那样)
答案 2 :(得分:0)
发现混乱的地方。我将Friendly Name
证书放在web.config中。证书通用名称实际上是名为Issued To
的属性。
本文中有关于证书通用名称的部分。 http://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html