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 编码的签名。- NAMESPACE:项目命名空间,例如:
验证数据
对数据签名后,使用 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。