客户端/服务器身份验证

时间:2021-02-14 15:18:20

标签: c# authentication network-programming

我是创建客户端-服务器连接的新手,但在尝试弄清楚下一步要做什么时遇到了问题。

我正在尝试创建一个许可证管理器应用程序,该应用程序将驻留在客户的服务器上,并通过他们的网络向应用程序分发许可证。我正在使用 RSA 生成许可证(在我们的内部应用程序中),该许可证将提供给客户并驻留在他们的服务器上以控制可用的浮动许可证的数量。我已经能够使用找到的 NegotiateStream 示例在服务器和客户端应用程序之间创建连接 here

现在我卡住了,因为我不知道如何检查连接的任一端是我的应用程序之一,还是另一个使用相同连接方法的应用程序。似乎 Security.Cryptography 库中的 ECDiffieHellmanCng 是我所需要的,但是如果不在服务器和客户端之间共享库的实例,我无法理解它是如何工作的。我发现的示例 herehere 对加密有意义,但对身份验证没有意义。

我了解如果我在两个应用程序的一个类中存储两组素数并使用这些类生成公钥并使用随机生成的秘密数字验证彼此的秘密密钥,我将如何使用 Diffie-Hellman 算法.这似乎不太安全,因为有人可以反编译应用程序来获取我正在使用的质数。

我至少在正确的轨道上吗?是否有我应该查看的另一个库,或者我只需要更好地理解 ECDiffieHellmanCng 类?

0 个答案:

没有答案