fabric之使用传输层安全性(TLS)保护通信安全

高手哪位知道,fabric之使用传输层安全性(TLS)保护通信安全
最新回答
旧人不归

2024-09-29 00:37:40

Fabric支持使用TLS在节点之间进行安全通信。 TLS通信可以使用单向(仅服务器)和双向(服务器和客户端)身份验证。

peer节点既是TLS服务器又是TLS客户端。 当另一个peer节点,应用程序或CLI与其建立连接时,它是前者, 在与另一个peer节点或orderer建立连接时他是后者。

在peer节点上启用TLS,需要 设置以下属性:

默认情况下,peer点上启用TLS时,将关闭TLS客户端身份验证。 这意味着peer节点在TLS握手期间不会验证客户端(另一个peer节点,应用程序或CLI)的证书。 要在peer节点上启用TLS客户端身份验证,请将peer配置属性peer.tls.clientAuthRequired设置为true,并将peer.tls.clientRootCAs.files属性设置为包含CA证书链的CA链文件 为你的组织的客户颁发TLS证书。

通过设置以下环境变量,也可以启用具有客户端身份验证的TLS:

在peer节点上启用客户端身份验证时,客户端需要在TLS握手期间发送其证书。 如果客户端未发送其证书,则握手将失败,并且peer将关闭连接。

当peer加入通道时,从通道的配置块读取通道成员的根CA证书链,并将其添加到TLS客户端和服务器根CA数据结构中。 因此,peer对peer通信,peer对orderer通信应该无缝地工作。

要在orderer节点上启用TLS,请设置以下orderer配置属性:

默认情况下,在orderer上关闭TLS客户端身份验证,就像peer一样。 要启用TLS客户端身份验证,请设置以下配置属性:

通过设置以下环境变量,也可以启用具有客户端身份验证的TLS:

对启用TLS的peer节点运行peer CLI 命令时,必须设置以下环境变量:

如果在远程服务器上也启用了TLS客户端身份验证,则除上述变量外,还必须设置以下变量: