问题标签 [google-cloud-kms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
388 浏览

php - 如何使用 Google Cloud KMS 对托管在非 Google 服务器上的 php 应用程序进行身份验证

我一直在尝试了解如何使用 Google Cloud Key Management System,并且已经完成了快速入门教程和文档。我创建了我的钥匙圈和它们各自的钥匙,并在我的笔记本电脑上使用 SDK 对其进行了测试,它们工作正常。

然后,我尝试使用笔记本电脑上的 WAMP 开发环境完成信封加密示例,如https://deliciousbrains.com/php-encryption-methods/所示。我已经按照https://cloud.google.com/docs/authentication/production#auth-cloud-implicit-php中的描述设置了一个服务帐户和环境变量。

但是,当我尝试在浏览器中运行代码时,我收到以下消息:

Fatal error: Uncaught Google_Service_Exception: { "error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "errors": [ { "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "domain": "global", "reason": "unauthorized" } ], "status": "UNAUTHENTICATED" } } in C:\Bitnami\wampstack-7.2.11-0\apache2\htdocs\racingaway\vendor\google\apiclient\src\Google\Http\REST.php:118 Stack trace: #0 C:\Bitnami\wampstack-7.2.11-0\apache2\htdocs\racingaway\vendor\google\apiclient\src\Google\Http\REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Goo in C:\Bitnami\wampstack-7.2.11-0\apache2\htdocs\racingaway\vendor\google\apiclient\src\Google\Http\REST.php on line 118

我已尝试按照上述消息中的链接(https://developers.google.com/identity/sign-in/web/devconsole-project),这会将我带到https://developers.google.com/identity/ sign-in/web/sign-in#before_you_begin,这似乎是关于为最终用户设置 OAuth 客户端。但是,我想做的是服务器到服务器的身份验证。我现在很困惑,非常感谢一些关于我需要做什么才能让我的测试应用程序工作的明智建议。

我使用的代码如下:

}

上面的类被下面的代码使用:

0 投票
1 回答
355 浏览

google-cloud-kms - 获取解密密文时使用的 Google KMS 密钥版本

使用Google Cloud 的 KMS进行对称加密时,Google Cloud 会自动选择主密钥版本:

每个对称加密密钥都有一个指定的主要版本,该版本在该时间点用于加密数据。为了使密钥可用于加密数据,它需要具有已启用的主密钥版本。

当密钥用于加密明文时,其主密钥版本用于加密该数据。关于使用哪个版本加密数据的信息存储在数据的密文中。在任何给定时间点,只有一个版本的密钥可以是主要的。

EncryptResponse包括密文和使用的密钥版本。

如果加密时没有保存密钥的版本,以后是否可以确定密钥的版本?密钥版本存储在密文中,KMS 服务能够确定用于解密的密钥版本,但DecryptResponse仅包含明文,不包含密钥版本。

0 投票
1 回答
1920 浏览

node.js - 使用 Google Cloud Key Management Service 签署 JSON Web Tokens

编辑:我找到了答案。滚动到这个问题的底部。

我正在使用 NodeJS 身份验证服务器,我想使用谷歌签名签署 JSON Web 令牌(JWT)。

我正在使用 Google Cloud Key Management Service (KMS),并创建了一个密钥环和一个非对称签名密钥。

这是我获取签名的代码:

我的 Google 签名对象如下所示:

在此处输入图像描述

我的问题:如何使用 Google 签名签署 JWT?

或者换句话说,如何将 Google 签名连接到 JWT 的 (header.payload)?

JWT 应该如下所示:

我正在使用的代码:

签署:

创建 JWT:

验证:


答案:

我可以像这样使用 toString() 方法:

然后我可以通过使用获得原始签名八位字节流

0 投票
1 回答
245 浏览

google-cloud-platform - 从 Cloudfunctions 提交 Cloudbuild 作业时出错,如果

希望这对于比我知识更深的人来说是一个简单的...

我有一个 Cloudfunction 响应 webhook 调用以使用 API 将作业提交到 Cloudbuild。这很好用,只是现在我们有一些工作需要使用来自不同项目的 KMS 密钥。

将其包含在 cloudbuild.yaml 中,提交 Cloudbuild 作业的 api 调用返回:

我尝试将 Cloudfunction 和 Cloudbuild 服务帐户从调用帐户添加到托管 KMS 的帐户中,包括我能想到的所有内容,包括所有者。

这篇文章有简单明了的说明如何在另一个账户中访问 Container Registry 和其他服务,但没有关于 KMS 的内容。这个错误似乎不会在搜索中触发任何有意义的结果,而且我看起来一点也不熟悉。

谢谢你的帮助。

0 投票
2 回答
4557 浏览

google-cloud-kms - 从控制台编辑或删除密钥环

这是一个新手安全/控制台问题...我在欧洲的特定(错误)位置的项目中创建了一个密钥环。

我在控制台中看不到任何编辑甚至删除密钥环的方法。钥匙圈完全是空的……里面没有钥匙。

如何编辑/删除密钥环?

0 投票
1 回答
811 浏览

serverless-framework - serverless framework and use key management service (KMS)

Basically I use serverless framework serverless for a function that allows me to send/receive emails through mailgun.

For this I have a config.js file set up in my serverless folder. This config.js contains all my API keys, email address, login, etc for my “mailgun” function.

I want to use Google Cloud KMS to encrypt the resource config.js, because I am afraid my senstive data gets stolen and misused. The encrypted file is config.js.enc. google_key_management_service

But serverless deploy does not decrypt my config.js.enc. It throws me a resource/syntax error…</p>

Any solutions/ideas how I can make KMS work for my config.js file in my serverless framework?

I added AWS tags also, because they have a similar KMS as Google Cloud. But actually I think the real issue is with the serverless framework and to make encrypted files work in deploying serverless with sls deploy command, but I could be mistaken.

0 投票
2 回答
354 浏览

openssl - google-cloud-kms PKCS7 加密消息语法

有没有人使用 Google 的 HSM 和 KMS 服务实现加密消息语法?

很难判断此功能是否内置在Tink库中。

没有适用于 OpenSSL 或 BoringSSL 的 Google 引擎(如果不是这种情况,希望得到纠正)并且由于引擎需要用 clang 编写,我想包含 tink.so 库相当困难?

如果有人有任何关于在 Google 的 KMS 服务上执行这些类型的操作的信息,将不胜感激。

0 投票
1 回答
507 浏览

google-app-engine - GCP kms 加密环境变量并通过 cloudbuild.yaml 将加密密钥传递给谷歌应用引擎

我正在尝试在部署到 Google App Engine 的 RoR 应用程序中为 Cloud SQL 中的数据库加密环境变量。遵循此文档https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-secrets-credentials

gcloud builds submit但是,同时运行和时出现错误gcloud app deploy。两者都是错误的:

失败状态:未知:错误响应:[4] DEADLINE_EXCEEDED / 构建步骤 0“gcr.io/cloud-builders/gcloud”失败:退出状态 1。

然后,我检查了gcloud builds described应用程序无法部署的显示,但是DATABASE_PASS显示工作/排队。我已将gcloudsdk 中的 Cloud Build 组件增加到 1000 并测试超时:在cloudbuild.yaml;这两个选项中都没有改善任何东西。

在使用 Cloud Build 之前,我的应用程序正在运行,但我消除了对凭据的需求,并将加密凭据用于 CI/CD 管道。另外,想在我的app.yaml.

0 投票
1 回答
226 浏览

google-cloud-platform - 无法使用 google kms typescript/node 解密,得到 emtpy 结果

对此的任何帮助将不胜感激:)。我正在尝试创建一个 firebase 函数来使用 google kms 解密数据。由于某种原因,我无法成功解密数据,我只是得到一个空缓冲区作为响应。这是我的代码

这是我正在打印的日志

我想在不需要任何临时文件的情况下完成这项工作。提前致谢!

0 投票
1 回答
341 浏览

node.js - 谷歌云函数中的全局范围变量初始化

我想使用 Google Cloud KMS 存储密钥并在 Google Cloud Function 中使用它。首先,我将加密我的密钥并将其存储在环境变量中

如果我像链接一样解密我的密钥,它会返回 Promise。当我的函数被部署和调用时,我的变量是否保证完成初始化?