JavaScript 到 WCF 服务加密
JavaScript to WCF Service encryption
我正在寻找一种在 JavaScript 包和 WCF 服务之间加密数据的好方法。我在底部描述了一种解决方案,但想要更好的解决方案。有没有办法在不购买 SSL 证书的情况下执行此操作,我想要 SSL 数据传输,但不需要 CA?
背景
我有一个 WCF Web 服务,许多 Web 应用程序工具都将连接到该服务。所有工具都将通过服务代码获得批准和注册,然后才能访问该服务。我们正在编写一个基本的 JavaScript 包,用于与要使用的工具的服务进行通信。
进入该服务的数据需要加密,我们不能相信即使是同一工具的其他用户也不会尝试收听数据。
我不想购买 SSL 证书并保持其有效,我希望因为我只允许某些工具访问并且它们使用我的包,所以我可以绕过它。
我找到了一个解决方案,但觉得不够好
在开发过程中将服务器上的密钥硬编码给已批准的工具。当每个工具启动时,它会创建一个新密钥并将其发送到该用户和工具会话的服务器。所有来回的数据都将在这个新密钥上完成。
问题 - 如果工具首次发送其加密的新密钥时有人正在监听,他们可以从其中一个工具中获取硬编码并计算出新密钥怎么办。
public 密钥加密背后的基础知识是您拥有一个 public 密钥和一个私钥。您可以将您的 public 密钥提供给世界上的任何人,他们可以用它加密只有私钥持有者才能解密的消息。
因此您可以在服务中使用一种方法来提供 public 键。您的工具将请求 public 密钥来加密数据并使用它以加密方式与您的服务交换数据。
但请注意,我说的是 "encrypted" 而不是 "secure",SSL 超越了对 HTTP 正文数据的加密,它几乎加密了整个连接。
也证明了身份。服务如何知道你是真的你?
您将如何确定消息没有在您和您的客户之间的某处被拦截和更改? SSL 还提供完整性保护。
我建议您不要重新发明轮子,或者如果您这样做,请认真计划,因为安全性非常重要。 "don't want to" 不是不购买 SSL 证书的好理由。
我正在寻找一种在 JavaScript 包和 WCF 服务之间加密数据的好方法。我在底部描述了一种解决方案,但想要更好的解决方案。有没有办法在不购买 SSL 证书的情况下执行此操作,我想要 SSL 数据传输,但不需要 CA?
背景
我有一个 WCF Web 服务,许多 Web 应用程序工具都将连接到该服务。所有工具都将通过服务代码获得批准和注册,然后才能访问该服务。我们正在编写一个基本的 JavaScript 包,用于与要使用的工具的服务进行通信。
进入该服务的数据需要加密,我们不能相信即使是同一工具的其他用户也不会尝试收听数据。
我不想购买 SSL 证书并保持其有效,我希望因为我只允许某些工具访问并且它们使用我的包,所以我可以绕过它。
我找到了一个解决方案,但觉得不够好
在开发过程中将服务器上的密钥硬编码给已批准的工具。当每个工具启动时,它会创建一个新密钥并将其发送到该用户和工具会话的服务器。所有来回的数据都将在这个新密钥上完成。 问题 - 如果工具首次发送其加密的新密钥时有人正在监听,他们可以从其中一个工具中获取硬编码并计算出新密钥怎么办。
public 密钥加密背后的基础知识是您拥有一个 public 密钥和一个私钥。您可以将您的 public 密钥提供给世界上的任何人,他们可以用它加密只有私钥持有者才能解密的消息。
因此您可以在服务中使用一种方法来提供 public 键。您的工具将请求 public 密钥来加密数据并使用它以加密方式与您的服务交换数据。
但请注意,我说的是 "encrypted" 而不是 "secure",SSL 超越了对 HTTP 正文数据的加密,它几乎加密了整个连接。
也证明了身份。服务如何知道你是真的你?
您将如何确定消息没有在您和您的客户之间的某处被拦截和更改? SSL 还提供完整性保护。
我建议您不要重新发明轮子,或者如果您这样做,请认真计划,因为安全性非常重要。 "don't want to" 不是不购买 SSL 证书的好理由。