繁体   English   中英

VS2010中的C#,使用WCF,分层证书和IIS6

[英]C# in VS2010, using WCF, Hierachical Certificates and IIS6

我们已经在VS 2010,C#和WCF中开发的应用程序中进行了大量工作。 我们使用传输作为安全模式,并在TransportSecurity属性中将其设置为None和None。

我们在IIS6中托管该服务。 经过大量工作后,我们设法使用https使其工作。 我们使用的证书是使用selfssl.exe工具创建的自创建证书。 创建证书并将其存储在“受信任的证书”列表中后,我们将其设置为站点中IIS中的服务器证书,并使用443端口在证书指纹和本地主机地址之间进行“绑定”。 httpcfg工具。

嗯,我们还使用了不推荐用于生产的著名代码(我们知道),它可以验证不是由有效证书颁发机构颁发的证书。 这一段代码是我们从MSDN WCF动手练习中获得的。 在这段代码中,我们为它提供证书的CN = NAME,它可以正常工作。

好的,我们终于让它工作了。 这一切都在开发中。 现在我们处于测试阶段,他们同意使用启用证书的代码段。 问题在于,我们需要使用的证书在IIS中设置并设置为使用著名的代码后,就无法使用。

我们得到的错误就是这个错误(仅显示错误的第一部分,而不显示堆栈跟踪):

System.ServiceModel.Security.SecurityNegotiationException:无法为具有权限“ 172.30.224.46”的SSL / TLS安全通道建立信任关系。 ---> System.Net.WebException:基础连接已关闭:无法建立SSL / TLS安全通道的信任关系。 ---> System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。

新证书是由其自己的证书颁发机构颁发的,与我们自己生成的证书相比,它具有几个差异,例如,“用法”属性不同,或者例如,我们的证书具有“增强用法”属性,没错

我们在证书中注意到的另一个巨大区别是,它们是证书层次结构的一部分,它们具有受信任的根证书,然后是中级证书颁发机构,并且要在服务器中使用的证书位于该中级证书之下。

是否需要特殊的配置来支持这种属于层次结构的证书? 你们能告诉我们些什么? ....我们需要一些帮助:S

我们还进行了测试,以创建自签名证书以及在其环境中进行设置所需的所有步骤,然后该应用程序正常运行。

感谢您的帮助和关注,

安德烈·冈萨雷斯(Andrey Gonzalez)

通常,当证书中存储的服务器名称与客户端上用于引用服务器的主机名不同时,会出现此错误。

例如,您的服务器证书是为“ yourserver.com”颁发的,而您正尝试仅使用“ yourserver”或其IP地址从客户端进行访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM