Documentation ¶
Index ¶
Constants ¶
View Source
const ( CLIENT = iota ORDERER PEER ADMIN )
View Source
const ( CLIENTOU = "client" PEEROU = "peer" ADMINOU = "admin" ORDEREROU = "orderer" )
Variables ¶
View Source
var ExportConfig = exportConfig
为了单元测试
Functions ¶
func GenerateLocalMSP ¶
func GenerateLocalMSP(baseDir, name string, sans []string, signCA *ca.CA, tlsCA *ca.CA, nodeType int, nodeOUs bool) error
GenerateLocalMSP
- 在同一个目录 baseDir (传入的第一个参数) 里创建两个文件夹:msp 和 tls;
- 在 msp 文件夹内创建五个文件夹:cacerts admincerts tlscacerts keystore signcerts;
- 随机生成一个 ECDSA 私钥,并按照 ASN.1 DER PEM 格式对私钥进行编码,将编码后的数据存储到 msp/keystore/private_key 文件中;
- 利用签名 CA 对随机生成的私钥的公钥进行签署,得到一个公钥 x509 证书,然后将证书存储到 msp/signcerts/name-cert.pem 文件中;
- 将签名 CA 的证书和 TLS CA 的证书分别存储到 msp/cacerts 和 msp/tlscacerts 两个目录中;
- 如果需要导出配置文件,则将其导入到 msp/config.yaml 文件中,否则将第 4 步生成的公钥证书存储到 msp/admincerts/name-cert.pem 文件中;
- 为 TLS 随机生成一个 ECDSA 私钥,并将私钥存储到 tls/private_key 文件中 (将私钥编码成 ASN.1 DER PEM 格式后再存储);
- 利用 TLS CA 对第 7 步生成的私钥的公钥进行签署,得到一个公钥 x509 证书,然后将证书存储到 tls/name-cert.pem 文件中;
- 将 TLS CA 证书的内容写入到 tls/ca.crt 文件中;
- 将 tls/name-cert.pem (第 8 步) 重命名为 tls/client.crt 或者 tls/server.crt;
- 将 tls/private_key (第 7 步) 文件重命名为 tls/client.key 或者 tls/server.key
func GenerateVerifyingMSP ¶
GenerateVerifyingMSP 将 signCA 和 tlsCA 里的 x509 证书分别存储到 cacerts 和 tlscacerts 目录中, 然后随机生成一个 ECDSA 私钥,将私钥存储在 keystore 中 (以 ASN.1 DER PEM 格式存储),然后利用 signCA 里的 x509 证书对私钥的公钥签署生成公钥证书,作为 admin 的证书,存储在 admincerts 目中。
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.