C# WCF消息安全相关问题

C# WCF消息安全相关问题,c#,.net,wcf,web-services,security,C#,.net,Wcf,Web Services,Security,我有一个具有消息安全模式和用户名客户端凭据类型的web服务。在端点配置的客户端,我有 <endpoint ...> <identity> <certificate encodedValue="VeryVeryBigRsaKey" /> <identity> </endpoint> 我使用pluralsight self-cert生成了我的密钥,并将其导出到带有Base 64编码的*.cer文件中。用记事本打开生成的*.cer,这给

我有一个具有消息安全模式和用户名客户端凭据类型的web服务。在端点配置的客户端,我有

<endpoint ...>
<identity>
<certificate encodedValue="VeryVeryBigRsaKey" />
<identity>
</endpoint>

我使用pluralsight self-cert生成了我的密钥,并将其导出到带有Base 64编码的*.cer文件中。用记事本打开生成的*.cer,这给了我rsa密钥(VeryVeryBigRsaKey)

我的问题是:

  • x.509证书在保护通信安全方面扮演什么角色
  • 如何将加密密钥从服务器发送到客户端(如果 有吗
  • 如果某人还拥有
    VeryVeryBigRsaKey
    ,是否可以嗅探传输到服务器的凭据,如果是,如何防止它,如果否,wcf中有哪些安全机制来防止它?

    但如果有人能详细解释通信是如何安全的,我们会非常感激,或者提供一篇文章的链接。

您的大多数问题都以英文回答。描述的细节不一定完全正确,但想法和机制是正确的

  • 证书确保共享密钥(派生密钥)从客户端安全传输到服务
  • 派生密钥使用客户端和服务器之间的对称加密
  • 如果带有私钥的服务证书未被盗,则为否。私钥使您的通信安全。如果只有托管服务的服务器具有私钥,并且只有服务具有在证书存储中访问该私钥的权限,则其他任何人都无法解密消息以获取派生密钥并解密通信
  • 你不必害怕