参照
https://hyperledger-fabric-cn.readthedocs.io/zh/1.3.0_zh-cn/idemixgen.html
前面文章已经介绍了,使用fabric的零知识身份证明有两种方法,一个是通过CA,另一个是通过idemixgen。本文将描述idemixgen的使用方法。
Identity Mixer MSP配置生成器(idemixgen)
本文将描述idemixgen的用法,该程序可用于为基于MSP的身份混合器创建配置文件。有两个命令可用,一个用于创建新的CA密钥对,另一个用于使用以前生成的CA密钥创建MSP配置。
目录结构
idemixgen工具将创建具有以下结构的目录
- /ca/
IssuerSecretKey
IssuerPublicKey
RevocationKey
- /msp/
IssuerPublicKey
RevocationPublicKey
- /user/
SignerConfig
ca 目录包含颁发者密钥 (包括撤销密钥), 并且应该仅适用于 ca。msp 目录包含 msp 验证 idemix 签名所需的信息。user目录指定默认签名者。
生成CA秘钥
通过命令idememyxgen ca-keygen 生成ca (颁发者) 密钥,该秘钥被用来生成Identity Mixer,这将在工作目录中创建目录 ca 和 msp。
添加默认签名者
使用idemixgen ca-keygen生成ca和msp目录后,可以使用idemixgen signercon命令将用户目录中指定的默认签名者添加到配置中。
$ idemixgen signerconfig -h
usage: idemixgen signerconfig [<flags>]
Generate a default signer for this Idemix MSP
Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).
-u, --org-unit=ORG-UNIT The Organizational Unit of the default signer
-a, --admin Make the default signer admin
-e, --enrollment-id=ENROLLMENT-ID
The enrollment id of the default signer
-r, --revocation-handle=REVOCATION-HANDLE
The handle used to revoke this signer
例如,我们可以使用以下命令创建一个默认签名者,该签名者是组织“OrgUnit1”中的成员,在组织中的身份标识是“johndoe”,撤销句柄为“1234”,这是一个管理员.
idemixgen signerconfig -u OrgUnit1 --admin -e "johndoe" -r 1234