【发布时间】:2019-02-15 05:31:31
【问题描述】:
注意:我使用的是 Go SDK,但这应该适用于 Node、Java 等 SDK。
我使用fabric-ca 实例作为我的证书颁发机构,对于实际的生产环境,我需要使用安全连接。
基于config-e2e.yaml 示例配置文件[1],我们应该能够在CA url 中使用https。示例:
certificateAuthorities:
org1-ca:
url: https://localhost:7054
但是,一旦需要 https,SDK 就会要求在 client 部分 [1] 中添加 TLS 证书/密钥文件路径:
tlsCACerts:
# Comma-Separated list of paths
path: {filepath}
# Client key and cert for SSL handshake with Fabric CA
client:
key:
path: {filepath}
cert:
path: {filepath}
但是,其他文档 [2] 表明 tlsCACerts 部分用于双向 TLS 连接,并且基于我对 TLS [3] 的有限理解,https 连接不需要双向 TLS(大多数浏览器不要使用双向 TLS 来保护连接)。
谁能解释一下:
1) 保护 (https) SDK(客户端)和 CA/peer/orderer 之间连接的最简单方法?
2) 为什么我们将 TLS 证书/密钥文件路径硬编码到配置文件中,而在生产中使用时应该经常刷新这些文件路径?
注意:This question/answer 似乎表明您不需要双向 TLS 来实现安全连接,但如果我将 https: 添加到我的 CA url,我会收到错误,直到我填写 tlsCACerts 部分。
[1]https://github.com/hyperledger/fabric-sdk-go/blob/master/test/fixtures/config/config_e2e.yaml
[2](参见“客户端身份验证”与服务器端 TLS 设置)https://hyperledger-fabric.readthedocs.io/en/release-1.2/enable_tls.html
[3]http://www.cafesoft.com/products/cams/ps/docs32/admin/SSLTLSPrimer.html
【问题讨论】:
标签: ssl https hyperledger-fabric tls1.2 hyperledger-fabric-ca