首页 > 解决方案 > 用于 kms 的 Python 身份验证

问题描述

我是 google cloud kms 产品的新手,是否有关于如何使用 python 验证(来自第三方服务器)kms 的教程?目标是访问公钥,加密数据(异步)。另一台服务器将拥有更多权限并且能够解密。我不想使用 gcloud shell 客户端。

标签: google-compute-enginegoogle-cloud-kms

解决方案


我使用json文件解决了它。如果将来对某人有帮助,我将发布代码。

def encrypt_rsa(明文,key_name):

# get the public key credentials = service_account.Credentials.from_service_account_file( 'the_key_file_of_service_account.json') scoped_credentials = credentials.with_scopes( ['https://www.googleapis.com/auth/cloud-platform']) client = kms_v1.KeyManagementServiceClient(credentials=credentials) response = client.get_public_key(key_name) key_txt = response.pem.encode('ascii') public_key = serialization.load_pem_public_key(key_txt, default_backend()) # encrypt plaintext pad = padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None) plaintext = base64.urlsafe_b64encode(plaintext.encode("ascii")) return public_key.encrypt(plaintext, pad)

推荐阅读