背景:我有一个应用程序,在安装时会生成一个随机标识符(AppId)。在调用WCF服务时,我希望传递标识符,以便服务知道应用程序的哪个实例正在调用它。
到目前为止,计划是使用自定义WCF UserNameValidator,它将简单地检查传递的“AppId”是否为已知的“AppId”。我想要做的是加密请求,以便无法看到“AppId”,但我想在没有SLL的情况下这样做。 (这是一个小项目并试图降低成本:))
根据我的阅读,我可以使用消息级安全性并将“clientCredentialType”设置为“UserName”,它应该加密其中的“用户名”。它是否正确?如果是这样,你会认为使用SSL有任何额外的好处(我相信这是在“运输”级别),记住“AppId”是我唯一对保密的兴趣吗?
答案 0 :(得分:0)
根据http://msdn.microsoft.com/en-us/library/ff648863.aspx,您可以使用不带SSL(传输)的邮件加密。确保消息安全起来要贵一些,我建议同时执行传输和消息级别的安全性(来自安全性),但是你明确的问题是,无论是两种方式,都可以做到。
我会考虑TransportWithMessageCredential
以获得最佳的两种方法来应对挑战。