是否可以在 GCP 上重用服务帐户的凭据?

时间:2021-03-04 17:26:02

标签: python-3.x linux rsa x509 pem

当我在 GCP 上为服务帐户创建凭据时,我下载了如下所示的 JSON:

{
  "type": "service_account",
  "project_id": "project_id",
  "private_key_id": "35a68...478c56",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQI...njdCwu8=\n-----END PRIVATE KEY-----\n",
  "client_email": "client@project_id.iam.gserviceaccount.com",
  "client_id": "107...764",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/client%40project_id.iam.gserviceaccount.com"
}

如果我想为服务帐户创建新密钥,我可以上传现有的公钥:

<块引用>

从现有密钥对上传公钥证书。公共证书需要采用 RSA_X509_PEM 格式。

我可以将上述私钥转换为 RSA X509 PEM 格式的公钥吗?

显然是 it is technically possible to create a public key from a private key。我试过了:

openssl rsa -in private_key.key -pubout

(文件 private_key.key 包含上述 JSON 中“private_key”的值。用换行符代替 \n)

该命令生成一个文本,但 GCP 抱怨:“输入的值不是有效的 RSA_X509_PEM 格式的密钥。”。

我对 bash 或 Python(或两者)的转换感兴趣。

0 个答案:

没有答案