本页面介绍如何在 Cloud KMS 中创建密钥。密钥可以是对称或不对称加密密钥、非对称签名密钥或 MAC 签名密钥。
创建密钥时,您需要将其添加到特定 Cloud KMS 位置的密钥环中。您可以创建新的密钥环或使用现有密钥环。在此页面中,您将生成新的 Cloud KMS 或 Cloud HSM 密钥并将其添加到现有的密钥环中。如需创建 Cloud EKM 密钥,请参阅创建外部密钥。如需导入 Cloud KMS 或 Cloud HSM 密钥,请参阅导入密钥。
准备工作
在完成本页面上的任务之前,您需要:
- 包含 Cloud KMS 资源的 Google Cloud 项目资源。我们建议您为 Cloud KMS 资源使用单独的项目,其中不要包含任何其他 Google Cloud 资源。
- 您要创建密钥的密钥环的名称和位置。 请选择一个位于您的其他资源附近并且支持您所需保护级别的密钥环。如需查看可用位置及其支持的保护级别,请参阅 Cloud KMS 位置。如需创建密钥环,请参阅创建密钥环。
- 可选:如需使用 gcloud CLI,请准备您的环境。
gcloud CLI
在 Google Cloud 控制台中,激活 Cloud Shell。
所需的角色
如需获取创建密钥所需的权限,请让管理员授予您项目或父资源的 Cloud KMS Admin (roles/cloudkms.admin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含创建密钥所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建密钥,您需要拥有以下权限:
-
cloudkms.cryptoKeys.create
-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.cryptoKeyVersions.create
-
cloudkms.cryptoKeyVersions.get
-
cloudkms.cryptoKeyVersions.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
-
如需检索公钥,请执行以下操作:
cloudkms.cryptoKeyVersions.viewPublicKey
创建对称加密密钥
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
对于密钥名称,请输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择 Symmetric encrypt/decrypt。
接受轮替周期和开始日期的默认值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --protection-level "PROTECTION_LEVEL"
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。PROTECTION_LEVEL
:用于密钥的保护级别,例如software
或hsm
。对于software
键,您可以省略--protection-level
标志。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。PROTECTION_LEVEL
:密钥的保护级别,例如SOFTWARE
或HSM
。ALGORITHM
:HMAC 签名算法,例如HMAC_SHA256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。
创建使用自定义自动轮替的对称加密密钥
创建密钥时,您可以指定其轮替周期,即自动创建新密钥版本的间隔时间。您还可以单独指定下次轮替时间,以便下一次轮替的发生时间早于或晚于一个轮替周期。
控制台
当您使用 Google Cloud 控制台创建密钥时,Cloud KMS 会自动设置轮替周期和下次轮替时间。您可以选择使用默认值或指定不同的值。
如需在创建密钥时,但在点击创建按钮之前指定其他轮替周期和开始时间,请执行以下操作:
在密钥轮替周期部分,选择一个选项。
在开始日期部分,选择您希望发生首次自动轮替的日期。您可以保留开始的默认值,以便在创建密钥后开始一个密钥轮替周期的第一次自动轮替。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ROTATION_PERIOD
:密钥轮替的时间间隔,例如30d
表示每 30 天轮替一次密钥。轮替周期必须至少为 1 天,最长为 100 年。如需了解详情,请参阅 CryptoKey.rotationPeriod。NEXT_ROTATION_TIME
:完成第一次旋转的时间戳,例如"2023-01-01T01:02:03"
。您可以省略--next-rotation-time
来安排首次轮替运行命令后的 7 天。如需了解详情,请参阅 CryptoKey.nextRotationTime。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
替换以下内容:
PURPOSE
:密钥的用途。ROTATION_PERIOD
:密钥轮替的时间间隔,例如30d
表示每 30 天轮替一次密钥。轮替周期必须至少为 1 天,最长为 100 年。如需了解详情,请参阅 CryptoKey.rotationPeriod。NEXT_ROTATION_TIME
:完成第一次旋转的时间戳,例如"2023-01-01T01:02:03"
。您可以省略--next-rotation-time
来安排首次轮替运行命令后的 7 天。如需了解详情,请参阅 CryptoKey.nextRotationTime。
设置“已安排销毁”状态的时长
默认情况下,Cloud KMS 中的密钥版本在销毁之前会处于已安排销毁状态 (DESTROY_SCHEDULED
) 状态 24 小时。安排销毁状态有时称为“软删除状态”。可以配置密钥版本保持此状态的时长,但具有以下限制:
- 您只能在创建密钥期间设置时长。
- 键的时长一旦指定,便无法更改。
- 该时长适用于您将来创建的该密钥的所有版本。
- 所有密钥的最短时长为 24 小时,但仅限导入的密钥的时长下限为 0。
- 最长时长为 120 天。
- 默认时长为 24 小时。
您的组织可能具有由组织政策定义的最短安排销毁时长值。如需了解详情,请参阅 Control 键销毁。
如需创建将自定义时长用于“已安排销毁”状态的密钥,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
为您的应用配置密钥设置。
点击其他设置。
在“已安排销毁”状态的持续时间中,选择密钥在被永久销毁之前已安排销毁的天数。
点击创建密钥。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose PURPOSE \ --destroy-scheduled-duration DURATION
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。PURPOSE
:密钥的用途,例如encryption
。DURATION
:密钥在被永久销毁之前保持已安排销毁状态的时长。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
我们建议您为所有密钥使用默认时长(24 小时),除非您有特定的应用要求或监管要求,要求使用其他值。
创建非对称密钥
创建非对称解密密钥
按照以下步骤在指定的密钥环和位置创建非对称解密密钥。您可以对这些示例进行调整,以指定不同的保护级别或算法。如需了解详情和替代值,请参阅算法和保护级别。
首次创建密钥时,初始密钥版本的状态为待生成。当状态更改为 Enabled 时,您就可以使用该密钥了。如需详细了解密钥版本状态,请参阅密钥版本状态。
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
对于密钥名称,请输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择非对称解密。
对于算法,请选择 3072 位 RSA - OAEP Padding - SHA256 Digest。 您可以在将来的密钥版本上更改此值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-encryption" \ --default-algorithm "ALGORITHM"
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:用于密钥的算法,例如rsa-decrypt-oaep-3072-sha256
。如需查看支持的非对称加密算法的列表,请参阅非对称加密算法。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKey.create
创建非对称解密密钥。
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_DECRYPT", "versionTemplate": {"algorithm": "ALGORITHM"}}'
替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。ALGORITHM
:用于密钥的算法,例如RSA_DECRYPT_OAEP_3072_SHA256
。如需查看支持的非对称加密算法的列表,请参阅非对称加密算法。
创建非对称签名密钥
请按照以下步骤在指定的密钥环和位置上创建非对称签名密钥。您可以对这些示例进行调整,以指定不同的保护级别或算法。如需了解详情和替代值,请参阅算法和保护级别。
首次创建密钥时,初始密钥版本的状态为待生成。当状态更改为 Enabled 时,您就可以使用该密钥了。如需详细了解密钥版本状态,请参阅密钥版本状态。
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
对于密钥名称,请输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择非对称签名。
对于算法,选择 Elliptic Curve P-256 - SHA256 Digest。您可以在未来的密钥版本中更改此值。
点击创建。
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-signing" \ --default-algorithm "ALGORITHM"
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:用于密钥的算法,例如ec-sign-p256-sha256
。如需查看支持的算法列表,请参阅非对称签名算法。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKey.create
创建非对称签名密钥。
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_SIGN", "versionTemplate": {"algorithm": "ALGORITHM"}}'
替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。ALGORITHM
:用于密钥的算法,例如EC_SIGN_P256_SHA256
。如需查看支持的算法列表,请参阅非对称签名算法。
检索公钥
创建非对称密钥时,Cloud KMS 会创建公钥/私钥对。生成启用的非对称密钥后,您可以随时检索该密钥的公钥。
公钥采用隐私权保密增强电子邮件 (PEM) 格式。如需了解详情,请参阅 RFC 7468 部分中的一般注意事项和正文公钥信息的文本编码。
如需下载现有非对称密钥版本的公钥,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击包含您要检索公钥的非对称密钥的密钥环的名称。
点击要检索其公钥的密钥的名称。
在与要检索公钥的密钥版本对应的行中,点击查看更多
。点击获取公钥。
公钥显示在提示中。您可以将公钥复制到剪贴板。要下载公钥,请点击下载。
如果您没有看到获取公钥选项,请验证以下内容:
- 该密钥不是对称密钥。
- 密钥版本已启用。
- 您拥有
cloudkms.cryptoKeyVersions.viewPublicKey
权限。
从 Google Cloud 控制台下载的公钥的文件名格式如下:
KEY_RING-KEY_NAME-KEY_VERSION.pub
文件名的每个部分都用连字符分隔,例如 ringname-keyname-version.pub
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
替换以下内容:
KEY_VERSION
:密钥版本号。KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。OUTPUT_FILE_PATH
:要保存公钥文件的路径,例如public-key.pub
。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
通过调用 CryptoKeyVersions.getPublicKey 方法检索公钥。
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。KEY_VERSION
:密钥版本号。
输出应类似如下所示:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "SOFTWARE" }
将公钥转换为 JWK 格式
Cloud KMS 支持检索 PEM 格式的公钥。 某些应用可能需要其他密钥格式,例如 JSON Web 密钥 (JWK)。如需详细了解 JWK 格式,请参阅 RFC 7517。
如需将公钥转换为 JWK 格式,请按以下步骤操作:
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
控制对非对称密钥的访问权限
签名者或验证者需要对非对称密钥具有适当的权限或角色。
对于将执行签名的用户或服务,授予对非对称密钥的
cloudkms.cryptoKeyVersions.useToSign
权限。对于将检索公钥的用户或服务,授予对非对称密钥的
cloudkms.cryptoKeyVersions.viewPublicKey
权限。进行签名验证时需要公钥。
如需了解 Cloud KMS 版本中的权限和角色,请参阅权限和角色。
创建 MAC 签名密钥
控制台
gcloud
如需在命令行上使用 Cloud KMS,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "mac" \ --default-algorithm "ALGORITHM" \ --protection-level "PROTECTION_LEVEL"
替换以下内容:
KEY_NAME
:密钥的名称。KEY_RING
:包含密钥的密钥环的名称。LOCATION
:密钥环的 Cloud KMS 位置。ALGORITHM
:HMAC 签名算法,例如hmac-sha256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。PROTECTION_LEVEL
:密钥的保护级别,例如hsm
。对于software
键,您可以省略--protection-level
标志。
如需了解所有标志和可能值,请使用 --help
标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Cloud KMS Java SDK。
Node.js
要运行此代码,请先设置 Node.js 开发环境并安装 Cloud KMS Node.js SDK。
PHP
要运行此代码,请先了解如何在 Google Cloud 上使用 PHP 并安装 Cloud KMS PHP SDK。
Python
要运行此代码,请先设置 Python 开发环境并安装 Cloud KMS Python SDK。
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Cloud KMS Ruby SDK。
API
这些示例使用 curl 作为 HTTP 客户端来演示如何使用 API。如需详细了解访问权限控制,请参阅访问 Cloud KMS API。
如需创建密钥,请使用 CryptoKey.create
方法:
curl "http://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "MAC", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
替换以下内容:
PROJECT_ID
:包含密钥环的项目的 ID。LOCATION
:密钥环的 Cloud KMS 位置。KEY_RING
:包含密钥的密钥环的名称。KEY_NAME
:密钥的名称。PROTECTION_LEVEL
:密钥的保护级别,例如SOFTWARE
或HSM
。ALGORITHM
:HMAC 签名算法,例如HMAC_SHA256
。如需查看所有支持的 HMAC 算法,请参阅 HMAC 签名算法。
后续步骤
- 了解密钥轮替。
- 了解如何创建和验证签名。
- 了解如何使用 RSA 密钥对数据进行加密和解密。
- 了解如何检索公钥。