对数据进行签名和验证

AO 通过 Google Distributed Cloud (GDC) 空气隔离网络,使用 gRPC 客户端对 KMS 执行签名和验证操作。

准备工作

如需获得签署数据所需的权限,请让您的组织 IAM 管理员为您授予项目命名空间中的 KMS Developer (kms-developer) 角色。

签署数据

如需对数据进行签名,请使用 gdcloud kms keys asymmetric-sign 命令。此命令使用 Signing 密钥创建输入文件的数字签名,并保存 base64 编码的签名。

  • 如需对数据进行签名,请传入密钥名称和以下内容:

    gdcloud kms keys asymmetric-sign \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
    --input-file=INPUT_PATH \
    --signature-file=SIGNATURE_FILE
    

    执行以下变量替换操作:

    • NAMESPACE:项目命名空间,例如:kms-test1
    • KEY_NAME:用于签名的密钥的名称,例如:key-1
    • INPUT_PATH:您要签名的输入文件的路径。
    • SIGNATURE_FILE:用于保存 base64 编码签名的输出文件的路径。

    运行该命令后,您会看到在 --signature-file 标志中指定的输出文件,其中包含以 base64 编码的签名。

验证数据

对数据签名后,使用 gdcloud kms keys asymmetric-verify 命令验证 base64 数字签名。此命令用于验证在运行 gdcloud kms keys asymmetric-sign 命令后收到的 base64 编码的数字签名是否有效。

  • 如需验证签名,请传入签名文件和以下内容:

    gdcloud kms keys asymmetric-verify \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
      --input-file=INPUT_PATH \
      --signature-file=SIGNATURE_FILE
    

    运行该命令后,如果成功,您会看到输出 Verification OK。如果创建不成功,您会看到失败输出 Verification Failure