verify
为了确保在灾难恢复时,管理员能够提供足够数量的正确密钥分片,可定期使用admin verify命令进行演练,确保密钥分片备份机制正常运作、数据正确可用。
命令用法
以下是admin verify命令的参数列表
命令参数
--participant(int)- 启动密钥分片验证任务,仅第一位执行命令的管理员设置此参数,值区间[key-threshold,key-shares]。不能与其他参数同时使用
--nonce(string)- 密钥分片验证任务唯一标识,仅非首位执行命令的管理员需要此参数。此参数值由第一位执行命令的管理员提供
--input- 输入密钥分片进行验证,需要与nonce参数同时使用
--cancel- 取消验证任务,需要与nonce参数同时使用
--status- 查看多名管理员验证状态
示例
下面以 Admin1, Admin2, Admin3 三名管理员,验证其中两名管理员(Admin2, Admin3)备份的 Unseal Key 是否正确为例,讲解在如何使用admin verify命令进行密钥分片验证
1、Admin2 执行以下命令,启动任务,并输入 Unseal Key 进行验证:
$ cacli admin verify --participant=2
Please input your unseal key(Input will be hidden, and type Enter to confirm input. The nonce of the current operation is '4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8'): <Admin2 input his/her Unseal Key and Enter>
Seal Type: Shamir
CA Verify Operation Nonce: 4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8
Total Shares: 3
Threshold: 2
Verify Progress: 1/2
Verify Success: unfinished
The nonce can only be sent to other admins.输出说明如下:
Seal Type: Shamir- 密钥分片算法,当前固定为 Shamir
CA Verify Operation Nonce: 4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8- 密钥分片验证任务的唯一标识,此值发送给 Admin3,禁止发送给其他人。
Total Shares: 3- 根密钥分片数量
Threshold: 2- 恢复根密钥所需的分片数量
Verify Progress: x/y- 输入 Unseal Key 的进度,x 为已经输入的密钥分片数量,y 为本次任务需要输入的总密钥分片数量
Verify Success: unfinished- 任务状态,当输入的密钥分片数量达到participant参数值且验证成功时,为 true
2、Admin3 执行以下命令,并输入 Unseal Key 进行验证,其中nonce值请向 Admin2 索要
$ cacli admin verify --nonce=4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8 --input
Please input your unseal key(Input will be hidden, and type Enter to confirm input. The nonce of the current operation is '4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8'): <Admin3 input his/her Unseal Key and Enter>
Seal Type: Shamir
CA Verify Operation Nonce: 4b765d5f-68e8-4c1a-b1d1-3b15b502ccc8
Total Shares: 3
Threshold: 2
Verify Progress: 2/2
Verify Success: true
...
当Verify Success为true时,表明 Admin2,Admin3 均已完成 verify 操作并且已经验证了备份的 Unseal Key 正确无误。