本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 6 步:验证分类账中的文档
重要
终止支持通知:现有客户将能够使用亚马逊,QLDB直到 2025 年 7 月 31 日终止支持。有关更多详细信息,请参阅将亚马逊QLDB账本迁移到亚马逊 Aurora Postgr SQL
借助 AmazonQLDB,您可以使用带有 -256 的加密哈希来有效地验证账本日记账中文档的完整性。SHA在这个例子中,亚历克西斯和布伦特决定通过在汽车经销商VIN1N4AL11D75C109151
处交易车辆来升级到新车型。经销商通过向登记处核实车辆的所有权来开始这一流程。
要详细了解验证和加密哈希的工作原理QLDB,请参阅。在 Amazon 中进行数据验证 QLDB
在此步骤中,您将验证 vehicle-registration
分类账中的文档修订版本。首先,您请求一份摘要,该摘要作为输出文件返回,并作为分类账整个变更历史记录的签名。然后,您要求提供与此摘要相关的修订证明。使用此证明,如果所有验证检查都可通过,可以验证修订版的完整性。
请求摘要
在 https://console.aws.amazon.com/ql
d QLDB b 上打开亚马逊控制台。 -
在导航窗格中,选择分类账。
-
在分类账列表中,选择
vehicle-registration
。 -
选择“获取摘要”。获取摘要对话框显示以下摘要详细信息:
-
摘要-您请求的摘要的 SHA -256 哈希值。
-
摘要提示地址 - 您请求的摘要所涵盖的日记中的最新块位置。地址包含以下两个字段:
-
strandId
— 包含数据块的日记账链的唯一 ID。 -
sequenceNo
— 一个索引号,用于指定数据块在链中的位置。
-
-
分类账 - 您请求摘要的分类账名称。
-
日期 - 您请求摘要时的时间戳。
-
-
检查摘要信息。然后选择 Save(保存)。您可以保留默认文件名,或输入新名称。
此步骤将保存一个内容为 Amazon Ion 格式的纯文本文件。该文件的文件扩展名为
.ion.txt
,包含前面对话框中列出的所有摘要信息。以下是摘要内容的示例。字段的顺序可能因您的浏览器而异。{ "digest": "42zaJOfV8iGutVGNaIuzQWhD5Xb/5B9lScHnvxPXm9E=", "digestTipAddress": "{strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:73}", "ledger": "vehicle-registration", "date": "2019-04-17T16:57:26.749Z" }
-
将此文件保存在以后可以访问的某个位置。在以下步骤中,您将使用此文件来验证文档修订版。
保存分类账摘要后,您可以开始根据该摘要验证文档修订的过程。
注意
在用于验证的生产用例中,您可以使用先前保存的摘要,而不是连续执行这两个任务。最佳做法是,在日记账中写入要稍后验证的修订版本后,立即请求并保存摘要。
验证文档的修订版
-
首先,在分类账中查询要验证的文档修订版本的
id
和blockAddress
。字段都包含在文档元数据中,您可以在提交视图中对其进行查询。文档
id
是系统分配的唯一 ID 字符串。blockAddress
是一种 Ion 结构,用于指定提交修订版本的块位置。在QLDB控制台的导航窗格中,选择 Parti ql 编辑器。
-
选择
vehicle-registration
分类账。 -
在查询编辑器窗口中输入以下语句,然后选择 运行。
SELECT r.metadata.id, r.blockAddress FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN = '1N4AL11D75C109151'
-
复制并保存查询返回的
id
和blockAddress
值。请务必省略id
字段的双引号。在 Amazon Ion 中,字符串数据类型用双引号分隔。 -
您已经选择了文档修订版,现在可以开始对其进行验证。
在导航窗格中选择验证。
-
在“验证文档”表单中,在“指定要验证的文档”下,输入以下输入参数:
-
分类账 - 选择
vehicle-registration
。 -
块地址 - 您在步骤 3 中查询返回的
blockAddress
值。 -
文档 ID - 您在步骤 3 中查询返回的
id
值。
-
-
在 “指定要验证的摘要” 下,通过选择 “选择摘要”,选择之前保存的摘要。如果文件有效,则会自动填充控制台上的所有摘要字段。或者,您可以直接从摘要文件中手动复制和粘贴以下值:
-
摘要 - 摘要文件中的
digest
值。 -
摘要提示地址 - 摘要文件中的
digestTipAddress
值。
-
-
查看您的文档和摘要输入参数,然后选择Verify(验证)。
控制台为您自动执行两个步骤:
-
向表中索QLDB取您指定文件的证明。
-
使用返回的证明调QLDB用客户端API,客户端会根据提供的摘要验证您的文档修订版本。
控制台在验证结果卡中显示您的请求结果。有关更多信息,请参阅 验证结果。
-
-
要测试验证逻辑,请重复“验证文档修订版” 下的步骤 6—8,但要更改摘要输入字符串中的单个字符。这应该会导致您的验证请求失败,并显示相应的错误消息。
如果您不再需要使用vehicle-registration
分类账,请继续步骤 7(可选):清除资源。