我需要生成一个用于IIS7的CTL。
我使用MakeCTL (在Win2k3 SDK上)生成了一个CTL文件,并且只将我自己的RootCA证书放在CTL中。
但是,当我随后使用adsutil.vbs将我的网站设置为使用此CTL时,我得到:
ErrNumber:-2147023584 (0x80070520)尝试设置属性时出错: SslCtlIdentifier
我像这样使用adsutil.vbs:
cscript adsutil.vbs set w3svc/2/SslCtlIdentifier其中是CTL的友好名称
问题是,我不能设置一个友好的名字。在向导的末尾显示"Friendly Name:“。
在IIS6中,我可以创建一个CTL的友好名称(显示在证书MMC),但如果我从那里导出它,当我导入它时,它不再具有友好名称。
有谁能教我怎么做吗?
发布于 2010-02-05 00:34:07
这应该可以在IIS 7.0上工作,但可能不能在IIS 7.5上工作。
请让我们知道这个页面是否有帮助- http://www.rethinker.net/Blog/Post/14/How-to-Create-and-Use-a-CTL-for-IIS-7-0
发布于 2008-12-05 08:52:51
我正经历着完全相同的问题,在寻找答案方面也遇到了同样的困难。
似乎没有记录在案的方法来使用MakeCTL为证书信任列表创建友好名称。将CTL添加到IIS7的唯一有文档记录的方法是使用上面提到的adsutil脚本,但它需要一个友好的名称。我认为我们可以通过编程的方式来实现这一点,但我并不打算深入到这一步。
这个问题的核心是IIS7似乎已经失去了对CTL的青睐,否则它会对它们有一些UI支持。人们是否正在使用CTL的替代方案与客户端证书相结合?
我发现很奇怪,这对IIS7来说并不是一个更大的问题。
更新:我终于回到这个问题上来了,并解决了友好名称的问题。要获得分配的友好名称,您必须将CTL存储在证书存储中,而不是存储到文件中(我之前一直使用文件方法)。因此,在向导模式下使用MakeCTL (无参数)并在“证书信任列表存储”页面上选择“证书存储”会导致一个新页面,让您指定一个友好的名称。
因此,我现在在LocalMachine的“中间证书颁发机构”证书存储中有一个CTL。现在我正在尝试使用'netsh http add sslcert‘将CTL分配给我的站点。
在我可以使用这个命令之前,我必须删除分配给我的站点用于服务器身份验证的现有SSL证书。然后,在我的netsh命令中,我指定了我删除的那个SSL证书的指纹,加上一个虚构的appid,加上'sslctlidentifier=MyCTL sslctlstorename=CA‘。生成的命令是:
netsh http add sslcert ipport=10.10.10.10:443 certhash=adfdffa988bb50736b8e58a54c1eac26ed005050 appid={ffc3e181-e14b-4a21-b022-59fc669b09ff} sslctlidentifier=MyCTL sslctlstorename=CA
( IP地址是通用的),但是我得到了这个错误:
SSL证书添加失败,错误: 1312指定的登录会话不存在。它可能已经被终止。
我确信这个错误与CTL选项有关,因为如果我删除它们,它就会起作用(当然没有分配CTL )。
有没有人能帮我完成最后一步,让它正常工作?
UPDATE 01-07-2010:我从来没有在IIS7.0中解决过这个问题,后来我把我们的应用程序迁移到了IIS7.5,并再次尝试了一下。我在我的测试服务器上安装了IIS6兼容性,并使用adsutil.vbs尝试了记录的步骤here。我立即遇到了Niel在上面所犯的同样的错误:
ErrNumber:-2147023584尝试设置属性时出错: SslCtlIdentifier
运行此命令时:
adsutil.vbs设置w3svc/1/SslCtlIdentifier MyFriendlyName
然后,我继续尝试文档中记录的下一个adsutil.vbs命令,它失败了,出现了相同的错误。
我已经验证了我创建的CTL具有友好的名称MyFriendlyName,并且它存在于LocalComputer的“中间证书颁发机构\证书信任列表”存储中。
所以我又一次停滞不前了。我不知道还能试什么。有没有人在IIS7或7.5上使用过CTL?永远不会?我是在白费力气吗。谷歌除了我自己的帖子和其他类似的故事什么也没有找到。
更新6/08/10 -I现在可以确认KB981506解决了此问题。有一个与此知识库关联的修补程序,必须应用于服务器2008 R2计算机才能启用此功能。一旦安装完成,所有的工作对我来说都是完美无瑕的。
发布于 2014-12-08 17:03:07
问题是关于IIS7的,但对于任何寻找此信息的人-来自IIS8,您不再需要使用CTL,而是使用证书存储中的“客户端身份验证颁发者”。
这里有更详细的文档:http://technet.microsoft.com/en-us/library/hh831771.aspx
https://stackoverflow.com/questions/325829
复制