本页面介绍了如何在 Cloud KMS 中创建密钥。键可以是 对称或不对称加密密钥、非对称签名密钥或 MAC 签名密钥。
创建密钥时,您需要将其添加到 Cloud KMS 位置。您可以创建新密钥 环或使用现有环。在本页中 您需要生成新的 Cloud KMS 或 Cloud HSM 密钥并将其添加到 现有密钥环如需创建 Cloud EKM 密钥,请参阅创建外部 键。如需导入 Cloud KMS 或 Cloud HSM 密钥,请执行以下操作: 请参阅导入密钥。
准备工作
在完成本页面上的任务之前,您需要做好以下准备:
- 用于包含您的 Cloud KMS 资源。我们建议您为 Cloud KMS 资源中不含任何其他 Google Cloud 资源。
- 您要在其中创建密钥的密钥环的名称和位置。 请在靠近您的其他资源的位置选择密钥环, 支持您所需的保护级别。接收者 查看可用位置及其支持的保护级别,请参阅 Cloud KMS 网点。创建密钥 请参阅创建密钥环。
- 可选:如需使用 gcloud CLI,请准备您的环境。
gcloud CLI
In the Google Cloud console, activate 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 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 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 "https://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
,以将首次轮替安排为自运行 命令。如需了解详情,请参阅 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 "https://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
,以将首次轮替安排为自运行 命令。如需了解详情,请参阅 CryptoKey.nextRotationTime.
设置“已安排销毁”的持续时间州/省/自治区/直辖市
默认情况下,Cloud KMS 中的密钥版本会在
已安排销毁 (DESTROY_SCHEDULED
) 状态,
已销毁。已安排销毁状态有时称为
软删除状态。密钥版本保持此状态的时长
是可配置的,但存在以下限制:
- 您只能在密钥创建期间设置时长。
- 键的有效期一经指定,便无法更改。
- 该时长适用于未来创建的密钥的所有版本。
- 所有密钥的最短时长均为 24 小时,但仅限导入的密钥除外,其最短时长为 0。
- 最长时长为 120 天。
- 默认有效期为 30 天。
您的组织可能设置了销毁时长下限 由组织政策定义的值。有关详情,请参阅控制 密钥销毁。
创建一个在已安排销毁期间使用自定义时长的密钥 请按照以下步骤操作:
控制台
在 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 小时,除非 都有特定的应用要求或监管要求 不同的值。
创建非对称密钥
创建非对称解密密钥
按照以下步骤在指定的密钥环和位置创建非对称解密密钥。通过调整这些示例,可指定 保护级别或算法。如需了解详情和替代值,请参阅 算法和保护级别。
首次创建密钥时,初始密钥版本的状态为 待生成。当状态变为已启用时,您可以使用 密钥。如需详细了解密钥版本状态,请参阅密钥版本 状态。
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择 Asame decrypt。
对于 Algorithm,选择 3072 bit 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 "https://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
。有关 支持的非对称加密算法,请参阅非对称加密 算法。
创建非对称签名密钥
请按照以下步骤在指定的密钥环和位置上创建非对称签名密钥。通过调整这些示例,可指定 保护级别或算法。如需了解详情和替代值,请参阅 算法和保护级别。
首次创建密钥时,初始密钥版本的状态为 待生成。当状态变为已启用时,您便可以使用该密钥。如需详细了解密钥版本状态,请参阅密钥版本 状态。
控制台
在 Google Cloud 控制台中,前往密钥管理页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
在保护级别部分,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,选择非对称签名。
对于 Algorithm(算法),请选择 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 "https://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 控制台中,前往 Key Management(密钥管理)页面。
点击包含您要检索公钥的非对称密钥的密钥环的名称。
点击要检索公钥的密钥的名称。
在与要检索公钥的密钥版本对应的行中,点击查看更多
。点击获取公钥。
公钥显示在提示中。您可以将公钥复制到剪贴板。要下载公钥,请点击下载。
如果您没有看到获取公钥选项,请验证以下内容:
- 该密钥是非对称密钥。
- 密钥版本已启用。
- 您拥有
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 "https://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 网络密钥 (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 签名密钥
控制台
在 Google Cloud 控制台中,前往 Key Management(密钥管理)页面。
点击您要为其创建密钥的密钥环的名称。
点击创建密钥。
在密钥名称部分,输入密钥的名称。
对于保护级别,选择软件或 HSM。
对于密钥材料,选择生成的密钥。
对于用途,请选择 MAC 签名/验证。
可选:对于算法,请选择 HMAC 签名 算法。
点击创建。
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 "https://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 密钥对数据进行加密和解密。
- 了解如何检索公钥。