- 凭证的颁发者(issuer)和使用者(prover)首先需要建立连接(connection),需要一个 onboarding 的过程。比如成绩单凭证的颁发者是 Faber 大学,使用者是 Alice
- 凭证的颁发者需要使用
anoncreds.issuer_create_credential_offer
先向凭证使用者发送一个 offer,者就像我们应聘工作之后首先收到的是一个 offer 类似,这个 offer 仅仅是告诉你你被聘用了(这里是我可以给你颁发成绩单凭证),但是不会含有任何实际的凭证内容 - 接下来凭证的颁发者需要用使用者跟颁发者的连接的 DID 的 verkey 对 offer 的消息进行 授权加密,将授权机密过的 offer 发送给凭证使用者
- 凭证使用者收到 offer 之后,会用 授权解密 将 offer 内容解密出来,并获得颁发者定义的 凭证定义(Credential Definition)
- 凭证使用者必须要使用
anoncreds.prover_create_master_secret
创建一个 Master Secret,这个会在下一步提交请求的时候使用 - 凭证使用者向颁发者发送一个取得凭证的请求,将这个请求使用 授权加密 并发送
- 凭证颁发者收到获得凭证请求之后,会 授权解密
- 凭证颁发者创建凭证实际内容(给各个属性的赋实际值)并将要返回的 response 信息进行 授权加密 并发送回给使用者
- 凭证使用者收到 response 后用 授权解密 得到凭证信息并存储都钱包中
Hyperledger Indy:凭证 Credential 颁发流程
最新推荐文章于 2022-02-14 10:22:01 发布