使用Fabric节点SDK的Hyperledger Fabric CA TLS证书注册

时间:2019-11-07 04:52:46

标签: hyperledger-fabric ca

我如何使用结构节点sdk复制以下命令

fabric-ca-client enroll -d -u https://peer1-org2:peer1PW@0.0.0.0:7052 --enrollment.profile tls --csr.hosts peer1-org2

下面是我在做什么,但是ca给了我正常的入学证书而不是tls的。当我将fabric-ca-client用于tls证书时,它给了我tls证书,并且我的网络成功运行,但是当我将fabric节点客户端用于相同的证书时,它给了我tls握手错误。我知道我必须通过csr.hosts peer1-org2,但以下请求中的csr参数需要由我不想使用的openssl生成的csr,我想依靠结构节点sdk的默认功能,该功能由它自己生成

 let enrollment = await ca.enroll({ enrollmentID: ordererName, enrollmentSecret: admnSecret, profile: `tls` });

1 个答案:

答案 0 :(得分:1)

@阿伦

您提到的命令对于TLS是正确的

 let enrollment = await ca.enroll({ enrollmentID: ordererName, enrollmentSecret: admnSecret, profile: `tls` });

了解配置文件TLS:

当CA对特定身份进行签名时,它需要一些详细信息,例如您要对新生成的身份进行的处理,您需要提供这些详细信息,CA会在内部使用这些说明并以表格的形式在新身份中提供扩展名

如何验证TLS?

使用在线工具解析证书,您应该在扩展部分下看到以下信息,然后可以将此证书和privcatekey用于TLS

TLS Web服务器身份验证,TLS Web客户端身份验证

keyUsage
Digital Signature, Key Encipherment

extendedKeyUsage
TLS Web Server Authentication, TLS Web Client Authentication

basicConstraints
CA:FALSE

authorityKeyIdentifier
keyid:10:FC:A9:5A:4D:91:7A:5A:58:4E:BC:5A:8F:86:24:DD:B9:54:D3:F2:24:B1:9E:08:75:EC:7E:46:08:8D:28:3B

subjectAltName
DNS:peer0.hype, DNS:peer0, DNS:localhost, DNS:hype-peer0-hype, DNS:hype-peer1-hype