Indy 中的 Steward 使用哪个验证密钥
Which Verification key is used for Steward in Indy
我正在浏览 Hyperledger Indy SDK 的 getting started documentation。
第 4 步完成通过管家入职新成员的过程。我对文档中概述的程序特别有三个广泛的疑问。
调用账本创建NYM交易是什么意思?不是吗,成对的 DID 应该存储在钱包中而不是 public.
Faber查询账本的是Steward的哪个key,是Stewards合法的DID还是自己为Faber创建的。
对于钱包中存储私人 DID 的情况。像 Faber 这样的实体如何获得发送连接邀请的实体的加密密钥?
问题 1
你的困惑是有道理的,你所指出的现在也让我困惑了。我求助于 Indy 社区,了解到演练教程的这一部分有点过时了。引用来自 Hyperledger Indy 的 RocketChat 频道的 Stephen Curran:
The pairwise DID concept had not been fleshed out enough and so all
DIDs in code were being written to the ledger.
详细说明 public 和成对的 DID:
NYM 事务使用关联的 Verkey(密钥对的 public 部分)写入 DID。但是,您必须区分 public DID 和成对 DID。
Public DID - 是您发布在那里供所有人知道的标识符。如果您是一个机构,您希望拥有这样的标识符。 People/their 设备随后可以使用它与机构建立初始安全连接。
成对 DID - 是识别您与某人建立的安全通道的 DID。例如,如果您使用他们的 public DID 联系了一个机构,他们会生成成对的 DID(密钥对和 DID 标识符)用于与您交谈。您还将生成成对 DID 以识别与它们的连接(并使用与成对 DID 关联的密钥加密通信)
问题 2
- 我想你指的是第 10 步:
Faber asks the ledger for the Verification key of the Steward's DID
by calling did.key_for_did.
所以这里 Faber 从账本中读取了 Steward 的 DID 及其关联的 verkey(public 密钥)。 Faber 然后使用这个密钥来加密消息 - 除了 Steward,该 verkey 的私有部分的持有者之外,任何人都无法解密该消息。
问题 3
以下是通常建立连接的方式:
假设建立了一些安全通道,一方接收来自另一方的连接邀请。例如,您可以通过 HTTPS 获得邀请,或者只是通过银行员工向您出示包含来自银行的连接邀请的 QR 码。
生成连接邀请消息时,邀请方生成带有verkey的pairwise DID。这包含在邀请消息中,因此假设您通过任何方式安全地发送了此邀请,可以肯定地说您可以将加密消息发送给邀请方。
此时,您将为该连接生成成对的 DID 和 Verkey,并将该数据发送给邀请者。此时,您已经建立了安全连接,因为你们都安全地交换了彼此的成对 DIDs/Verkeys 以进行会话。
我正在浏览 Hyperledger Indy SDK 的 getting started documentation。
第 4 步完成通过管家入职新成员的过程。我对文档中概述的程序特别有三个广泛的疑问。
调用账本创建NYM交易是什么意思?不是吗,成对的 DID 应该存储在钱包中而不是 public.
Faber查询账本的是Steward的哪个key,是Stewards合法的DID还是自己为Faber创建的。
对于钱包中存储私人 DID 的情况。像 Faber 这样的实体如何获得发送连接邀请的实体的加密密钥?
问题 1
你的困惑是有道理的,你所指出的现在也让我困惑了。我求助于 Indy 社区,了解到演练教程的这一部分有点过时了。引用来自 Hyperledger Indy 的 RocketChat 频道的 Stephen Curran:
The pairwise DID concept had not been fleshed out enough and so all DIDs in code were being written to the ledger.
详细说明 public 和成对的 DID:
NYM 事务使用关联的 Verkey(密钥对的 public 部分)写入 DID。但是,您必须区分 public DID 和成对 DID。
Public DID - 是您发布在那里供所有人知道的标识符。如果您是一个机构,您希望拥有这样的标识符。 People/their 设备随后可以使用它与机构建立初始安全连接。
成对 DID - 是识别您与某人建立的安全通道的 DID。例如,如果您使用他们的 public DID 联系了一个机构,他们会生成成对的 DID(密钥对和 DID 标识符)用于与您交谈。您还将生成成对 DID 以识别与它们的连接(并使用与成对 DID 关联的密钥加密通信)
问题 2
- 我想你指的是第 10 步:
Faber asks the ledger for the Verification key of the Steward's DID by calling did.key_for_did.
所以这里 Faber 从账本中读取了 Steward 的 DID 及其关联的 verkey(public 密钥)。 Faber 然后使用这个密钥来加密消息 - 除了 Steward,该 verkey 的私有部分的持有者之外,任何人都无法解密该消息。
问题 3
以下是通常建立连接的方式:
假设建立了一些安全通道,一方接收来自另一方的连接邀请。例如,您可以通过 HTTPS 获得邀请,或者只是通过银行员工向您出示包含来自银行的连接邀请的 QR 码。 生成连接邀请消息时,邀请方生成带有verkey的pairwise DID。这包含在邀请消息中,因此假设您通过任何方式安全地发送了此邀请,可以肯定地说您可以将加密消息发送给邀请方。 此时,您将为该连接生成成对的 DID 和 Verkey,并将该数据发送给邀请者。此时,您已经建立了安全连接,因为你们都安全地交换了彼此的成对 DIDs/Verkeys 以进行会话。