使用 fabric 节点 sdk 的 Hyperledger fabric CA TLS 证书注册

Hyperledger fabric CA TLS certificate enrolment using fabric node sdk

我如何使用结构节点 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 我想依赖 fabric 节点 sdk 的默认功能,它由它自己。

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

@Arun

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

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

了解配置文件 TLS:

当 CA 签署特定身份时,它需要一些详细信息,例如您尝试对新生成的身份执行的操作,您需要提供这些详细信息,CA 将在内部使用这些说明并在新身份中提供扩展形式

如何验证TLS?

使用在线工具解析证书,您应该在 Extensions 部分下看到以下信息,然后您可以将此证书和 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