关于WCF郁闷的问题,高手请进。高分相赠!
Binding方式使用wsHttpBinding使用X509 Certificate
Behavior的配置如下:
<behavior name="MyServieBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="None" />
</clientCertificate>
<serviceCertificate findValue="CN=MyServer.CA" storeName="My" storeLocation="CurrentUser" x509FindType="FindBySubjectDistinguishedName" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="WCF.Services.UserNamePasswordValidatorEx, WCF.Services"/>
</serviceCredentials>
</behavior>
同样的配置使用IIS或是Windows Service作为宿主的时候提示找不到对应的Certificate,提示如下:Cannot find the X.509 certificate using the following search criteria: StoreName 'My', StoreLocation 'CurrentUser', FindType 'FindBySubjectDistinguishedName', FindValue 'CN=MyServer.CA'.
但是使用Self Host的方式,将一个普通的控制台程序作为宿主时却是可以的
百思不得其解。。。。
麻烦知道的或是遇到过类似问题的朋友说下解决办法,谢谢!
--------------------编程问答-------------------- up --------------------编程问答-------------------- 郁闷了2个小时。一发贴就自己找到解决办法了。!!!!!
改成散分贴算了。 --------------------编程问答-------------------- HOHO~ --------------------编程问答-------------------- 这年头,送分都没人要了哈?
顺便说下解决方法好了,以免有人碰到同样的问题不知道解决
先到微软网站上下载一个小工具:WinHttpCertCfg.exe
然后用类似如下的命令
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "MyServer.CA" -a COMPUTERNAME\ASPNET
FYI
--------------------编程问答-------------------- 呵呵 我来接分.
LZ说的问题我也碰见过,用类似的办法解决的,可还是有个别机器访问不了,不知为何. --------------------编程问答-------------------- 好贴,大有相见恨晚的感觉! --------------------编程问答-------------------- 呵呵,多谢了。
不过楼主要是能把解决办法写出来就更好了。 --------------------编程问答-------------------- 踩点! --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 是进程身份的权限问题
补充:.NET技术 , C#