使用SOAP进行安全连接

时间:2010-10-07 07:05:00

标签: c# security soap https

我需要以安全的方式调用.NET SOAP Web服务。它必须是安全的,以便其他人不能调用WebService方法,并且“中间人”不应该理解消息的内容。

调用者也将是另一个IIS上安装的.NET Web应用程序。 我可以按照自己的意愿设计web服务方法,所以没有限制。

我一直在研究带有证书的HTTPS / SSL,但我不知道它是否真的以一种好的方式解决了我的问题?例如,如果证书有一个到期日期会很烦人,尽管它不是任何方式的showstopper。

那么我怎么能以一种好的方式解决这个问题呢?

感谢您的帮助。

4 个答案:

答案 0 :(得分:0)

假设您控制基础架构,然后将提供Web服务的服务器保留在防火墙后面,以便只能从Web服务器访问,并且实现IPSec应该提供必要的安全性。

从软件的角度来看,this article包含了有关保护服务交互的所有信息。

答案 1 :(得分:0)

HTTPS / SSL工作正常。只需确保及时续订证书,以避免为客户发出警告和消息。

答案 2 :(得分:0)

  

我需要调用.NET SOAP Web服务   一种安全的方式。它必须是安全的   这种方式让别人无法打电话给   WebService方法,也应该如此   不可能是“中间人”   了解的内容   消息。

HTTPS / SSL仅解决了您想要实现的“中间人”部分。您仍然需要在Web服务上进行适当的身份验证。你可以这样做,即使用内置的Forms authentication并提供一个返回你的身份验证票的Login方法。

答案 3 :(得分:0)

正如@BrokenGlass所说,SSL只加密点之间的流量。它不会在未经授权的情况下处理使用中的个别功能。这是一篇关于使用SOAP头的这样一个主题的好文章:

How to: Perform Custom Authentication Using SOAP Headers

除了Windows Integrated之外,它还可以与任何形式的身份验证混合使用。要使用Windows身份验证,您需要有一个单独的库,通过DirectoryServices名称空间访问Active Directory。

相关问题