本页介绍如何检索已启用的非对称密钥版本的公钥部分。
公钥的格式取决于它是后量子计算 (PQC) 算法还是传统算法:
对于非 PQC 算法,公钥的默认格式是隐私权保密增强电子邮件 (PEM) 格式。您还可以检索唯一编码规则 (DER) 格式的非 PQC 公钥。如需了解详情,请参阅 RFC 7468,尤其是“一般注意事项”和“正文公钥信息的文本编码”部分。
对于 NIST 标准化的 PQC 算法,您可以检索 NIST PCQ 标准中针对该算法确定的格式的公钥。如需了解详情,请参阅 FIPS-203、FIPS-204 和 FIPS-205。 PEM 和 DER 格式仅支持 ML-DSA 密钥。
对于 X-Wing,您可以检索以 X-Wing 标准指定的原始字节格式的公钥。这些密钥不支持 PEM 和 DER 格式。
所需的角色
如需获得检索公钥所需的权限,请让您的管理员为您授予密钥或父级资源的 Cloud KMS CryptoKey Public Key Viewer (roles/cloudkms.publicKeyViewer) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含检索公钥所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需检索公钥,您需要具备以下权限:
-
cloudkms.cryptoKeyVersions.viewPublicKey -
cloudkms.locations.get -
cloudkms.locations.list -
resourcemanager.projects.get
检索公钥
您可以指定要检索的公钥的格式。
如果指定了格式,则密钥将以指定格式返回,并显示在响应的 public_key 字段中。否则,它会在响应的 pem 字段中返回。
如需下载已启用的非对称密钥版本的公钥,请执行以下操作:
控制台
在 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 \
--public-key-format PUBLIC_KEY_FORMAT \
--output-file OUTPUT_FILE_PATH
替换以下内容:
KEY_VERSION:密钥版本号。KEY_NAME:密钥的名称。KEY_RING:包含密钥的密钥环的名称。LOCATION:密钥环的 Cloud KMS 位置。PUBLIC_KEY_FORMAT:您要导出公钥的格式。对于 NIST PQC 算法,请使用nist-pqc;对于 X-Wing,请使用xwing-raw-bytes。对于所有其他键,您可以使用pem、der或省略此参数。OUTPUT_FILE_PATH:您要保存公钥文件的路径,例如public-key.pub。
如需了解所有标志和可能值,请使用 --help 标志运行命令。
C#
要运行此代码,请先设置 C# 开发环境并安装 Cloud KMS C# SDK。
Go
要运行此代码,请先设置 Go 开发环境并安装 Cloud KMS Go SDK。