未找到主题名称CN = IdentityTKStsCert的证书

时间:2012-04-04 17:55:31

标签: asp.net ssl iis-7 wif

我正在经历WIF training kit。尝试通过STS站点登录时出现以下错误。我点击登录,然后我被重定向到STS网站,我看到了No certificate was found for subject Name CN=IdentityTKStsCert

3 个答案:

答案 0 :(得分:3)

要处理Microsoft练习,您需要设置环境(使用正确的证书)。请按照以下设置说明(从Microsoft链接提取(现已过时) - http://msdn.microsoft.com/en-us/gg271381)安装所请求的证书。可以在页面右上角的找到设置的源文件 here

设置

您必须执行以下步骤为本实验准备计算机。

  1. 打开Windows资源管理器窗口并浏览到实验室的 Source \ Setup 文件夹。
  2. 双击此文件夹中的 Dependencies.dep 文件以启动Dependency Checker工具并安装任何缺少的先决条件。这还将安装一些将在整个实验室中使用的代码片段以及本地STS在第二次练习中使用的localhost证书。
  3. 注意:此过程可能需要提升。 .dep 扩展名在安装期间与Dependency Checker工具相关联。有关设置过程以及如何安装Dependency Checker工具的其他信息,请参阅培训套件的 Assets 文件夹中的 Setup.docx 文档。

    1. 关闭代码段安装程序后,安装脚本将继续安装证书。如果要继续安装所需的证书,请按 Y
    2. 注意:如果您已有其他应用程序需要的“localhost”证书,请确保在继续安装实验室证书之前制作备份副本。

        

      证书安装完成

      注意:如果您运行的是Windows 7或Windows 2008 R2,则可能看不到此窗口。

      1. 完成后按任意键关闭设置控制台。
      2. 注意:除了设置脚本之外,在本实验的 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