我一直在使用zeroMQ,我希望能够通过Internet安全地进行连接。我在使用ruby,可以使用SSL和/或某种形式的shh连接,但找不到任何有关此操作的示例。
我发现了这个旧的stackoverflow链接,How does zeromq work together with SSL?说他们正在某种安全性上工作,但是那是一年前的事,我找不到任何新的引用。
即使没有将其内置到zeroMQ中,我也认为会有某种方法可以使用OpenSSL或类似方法进行设置。
注意:zeroMQ网站提到使用VPN或其他一些想要安全传输的东西。我不想使用VPN。必须有更好的方法。
只是想补充一点,自从提出问题以来,ZMQ团队从ZeroMQ v4.0.0开始,开发了CurveZMQ协议,该协议基于椭圆曲线加密(ECC)。这样就可以进行加密的ZMQ消息交换,该消息应该可以通过Internet进行安全保护。
有关更多详细信息,请参见Using ZeroMQ Security part 1。当时添加的一些功能是:
一种新的有线协议ZMTP 3.0,它为所有用户增加了安全握手ZeroMQ连接。
一种新的安全协议CurveZMQ,它通过TCP连接在两个ZeroMQ对等之间实现“完全转发安全性”。生病在下面解释CurveZMQ。
用于ZMTP的一组安全机制:NULL,PLAIN和CURVE,每个均由其自己的RFC描述。 NULL本质上就是我们拥有的之前。 PLAIN允许简单的用户名和密码验证。CURVE实现了CurveZMQ协议。[...]
为了通过Internet进行安全消息传递,人们将寻求实现例如Ironhouse模式。有关说明,请参见part 2。
肯定有该协议的Ruby实现,但我没有寻找它们。
如果您正在寻找Python实现,则可以查看以下资源: