msp

package
v0.0.0-...-e3e94bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

README

MSP 成员服务生成密码套件的解释

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

  1. 在同一个目录 baseDir (传入的第一个参数) 里创建两个文件夹:msp 和 tls;
  2. 在 msp 文件夹内创建五个文件夹:cacerts admincerts tlscacerts keystore signcerts;
  3. 随机生成一个 ECDSA 私钥,并按照 ASN.1 DER PEM 格式对私钥进行编码,将编码后的数据存储到 msp/keystore/private_key 文件中;
  4. 利用签名 CA 对随机生成的私钥的公钥进行签署,得到一个公钥 x509 证书,然后将证书存储到 msp/signcerts/name-cert.pem 文件中;
  5. 将签名 CA 的证书和 TLS CA 的证书分别存储到 msp/cacerts 和 msp/tlscacerts 两个目录中;
  6. 如果需要导出配置文件,则将其导入到 msp/config.yaml 文件中,否则将第 4 步生成的公钥证书存储到 msp/admincerts/name-cert.pem 文件中;
  7. 为 TLS 随机生成一个 ECDSA 私钥,并将私钥存储到 tls/private_key 文件中 (将私钥编码成 ASN.1 DER PEM 格式后再存储);
  8. 利用 TLS CA 对第 7 步生成的私钥的公钥进行签署,得到一个公钥 x509 证书,然后将证书存储到 tls/name-cert.pem 文件中;
  9. 将 TLS CA 证书的内容写入到 tls/ca.crt 文件中;
  10. 将 tls/name-cert.pem (第 8 步) 重命名为 tls/client.crt 或者 tls/server.crt;
  11. 将 tls/private_key (第 7 步) 文件重命名为 tls/client.key 或者 tls/server.key

func GenerateVerifyingMSP

func GenerateVerifyingMSP(baseDir string, signCA, tlsCA *ca.CA, nodeOUs bool) error

GenerateVerifyingMSP 将 signCA 和 tlsCA 里的 x509 证书分别存储到 cacerts 和 tlscacerts 目录中, 然后随机生成一个 ECDSA 私钥,将私钥存储在 keystore 中 (以 ASN.1 DER PEM 格式存储),然后利用 signCA 里的 x509 证书对私钥的公钥签署生成公钥证书,作为 admin 的证书,存储在 admincerts 目中。

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL