同样的程序,同样的方法在Windows2003/windowsXP上都很正常,偏偏客户的机器是windows2000Server操作系统,运行后得到WSE910错误!郁闷。
最后在微软的论坛中找到了答案:
(注:摘自http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1014400&SiteID=1)
Here is the problem. By default, WSE defaults th encryption method to RSAOAEP which is more secure. However, on Win2K, RSAOAEP is not supported, so WSE defaults to RSA15
on this platform.
You can verify this by looking at the trace files you mention above: The WinXP one will have RSAOAEP whereas the Win2K on will have RSA15.
To fix this, you need to change your server side to accept RSA15 and change your client on WinXP to speak RSA15 as well.
You can change this in your configuration file by doing:
<microsoft.web.services3>
<security>
<binarySecurityTokenManager>
<add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">
<keyAlgorithm name="RSA15" />
</add>
</binarySecurityTokenManager>
</security>
</microsoft.web.services3>
俺尝试了一下,服务端和客户端都需要添加这个配置才行。
最后在微软的论坛中找到了答案:
(注:摘自http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1014400&SiteID=1)
Here is the problem. By default, WSE defaults th encryption method to RSAOAEP which is more secure. However, on Win2K, RSAOAEP is not supported, so WSE defaults to RSA15
on this platform.
You can verify this by looking at the trace files you mention above: The WinXP one will have RSAOAEP whereas the Win2K on will have RSA15.
To fix this, you need to change your server side to accept RSA15 and change your client on WinXP to speak RSA15 as well.
You can change this in your configuration file by doing:
<microsoft.web.services3>
<security>
<binarySecurityTokenManager>
<add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">
<keyAlgorithm name="RSA15" />
</add>
</binarySecurityTokenManager>
</security>
</microsoft.web.services3>
俺尝试了一下,服务端和客户端都需要添加这个配置才行。