鉴于网络上有许多机器,他们将使用TCP互相交谈。
我的要求是:
为了更好的想象力,想一下只允许授权客户参与的聊天网络,并且所有通信都应加密。
我最初的想法是使用TLS证书:
理论上,这应该按预期进行。 在实践中,它没有。
其中一个问题是机器只知道对方的IP地址,并且不需要绑定到域名。由于不建议将IP地址用于证书(并且Node.js甚至不会验证IP地址为CN的证书),并且IP地址甚至可能随时间而变化,我开始认为这是否是正确的方法。
当然,我可以自己开始实现所有这些:加密层,身份验证架构......但我不会在那之后运行。如果有更方便的解决方法,我会很感激。
因此,基本上它归结为使用TLS证书进行加密和身份验证,不是因为绑定到域名,而是因为存在特定证书。
我如何实现这一点并解决上述问题? 或者 - 我是否朝完全错误的方向奔跑?我怎样才能以更好的方式解决这个问题?