.net 未经身份验证/授权或证书的WCF消息加密
我有一个.NET4.0项目,其中有两个模块将通过WCF服务进行通信,我想实现一个自定义加密机制 我的设想:.net 未经身份验证/授权或证书的WCF消息加密,.net,wcf,encryption,.net,Wcf,Encryption,我有一个.NET4.0项目,其中有两个模块将通过WCF服务进行通信,我想实现一个自定义加密机制 我的设想: 我控制两个端点(客户端和服务器),但不控制它们之间的连接 Windows auth是毫无疑问的,因为我现在不知道模块将部署在哪里,很可能它们将部署在不同的域上 我希望在某个时刻截获消息,并使用服务器和客户机上都正确配置的密钥应用自定义加密/解密,因此如果有人成功截获消息,他们将无法对其进行解密 我想用二进制序列化交换数据 我不想在客户端或服务器端设置证书 有谁能指出使用WCF实现此方案
- 我控制两个端点(客户端和服务器),但不控制它们之间的连接
- Windows auth是毫无疑问的,因为我现在不知道模块将部署在哪里,很可能它们将部署在不同的域上
- 我希望在某个时刻截获消息,并使用服务器和客户机上都正确配置的密钥应用自定义加密/解密,因此如果有人成功截获消息,他们将无法对其进行解密
- 我想用二进制序列化交换数据
- 我不想在客户端或服务器端设置证书
有谁能指出使用WCF实现此方案最明显的解决方案是什么吗?我想说的是,您不需要安全性-使用对称加密算法加密消息的静态密钥只是安全性的一个概念 无论如何,如果你想做到这一点,确实有扩展点,这将允许你在许多不同的层面上做到这一点
- 加密整个消息-这将需要自定义消息编码器,这可能很难编写
- 加密邮件正文-您可以编写自定义的
,它将处理邮件正文的加密和解密。标题仍然是纯文本,这是必要的,除非您想更改WCF处理中的许多其他内容。您可以将检查器包装在customIMessageInspector
中,并在代码中强制使用或在配置中声明使用它(您还需要实现customIEndpointBehavior
)李>BehaviorExtenxionElement
- 仅加密标记为自定义
的某些操作或标记为IOperationBehavior
行为的某些数据,并使用IContractBehavior
对值进行解密和加密李>IPParameterInspector
您可以控制客户端和服务器-使用证书而不是伪造的安全性。关于您建议的解决方案(使用证书)-您是指在IIS中配置传输级安全性和证书吗?这不是关于您能做什么或不能做什么,而是关于您是否想要安全性。