我正在浏览器扩展、NodeJS 应用程序(服务器)和 C# 应用程序之间建立通信线路。我需要使用 Diffie-Hellman 或 ECDH 之类的方法在每个实例之间交换密钥,以便开始加密敏感数据。
通讯线路如下:
浏览器<-->节点<--> CSharp
浏览器只需要与 Node 通信,CSharp 应用程序也只需要与 Node 通信。
我需要找到一种方法来执行某种密钥交换,例如 ECDH,它适用于大多数浏览器(可以是浏览器化的 Node 代码),并且在 NodeJS 端具有兼容的实现。我需要找到另一种方法在 NodeJS 和 C# 之间做同样的事情。
我可以看到 C# 中有很多使用 ECDH 的示例(例如:https ://blogs.msdn.microsoft.com/shawnfa/2007/01/22/elliptic-curve-diffie-hellman/ ),但我可以没有看到像 Node.js 那样提到 ECDH 曲线。这些平台之间是否有一些通用的方式来执行密钥交换?