google-compute-engine - 用于 kms 的 Python 身份验证
问题描述
我是 google cloud kms 产品的新手,是否有关于如何使用 python 验证(来自第三方服务器)kms 的教程?目标是访问公钥,加密数据(异步)。另一台服务器将拥有更多权限并且能够解密。我不想使用 gcloud shell 客户端。
解决方案
我使用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)
推荐阅读
- python - 如何根据 Python 中以特定字符结尾的分隔符字符串拆分字符串列表?
- c++ - 调用 std::function 会导致 EXC_BAD_ACCESS
- python - 包含副本 II
- r - SparklyR 流和 JDBC
- c# - .NET Core 2.0 网页将数据保存在缓存中
- c# - Entity Framework Core 2 自动生成的列
- c# - 我需要在 c# 中以异步方式多次执行一种方法
- c# - .NET 程序中补充 MongoDB 的文件系统机制
- javascript - React Native - 如何从子组件调用函数?
- excel - Excel VBA仅突出显示带有变量的一列