Google Cloud API通过证书(C#)进行身份验证

黄凯文

Google Cloud似乎提供了两个版本的API客户端库:Google API客户端库Google Cloud客户端库后者似乎是前者的继承者。

现在,旧版Google API客户端库提供了一种ServiceAccountCredential通过FromCertificate()方法通过证书创建证书的方法。我似乎无法在Google Cloud Client库中找到实现此目的的方法。当您不在GCP中运行时,似乎唯一使用Google Cloud Client Libraries访问Google服务的方法是下载服务帐户密钥(JSON)并将其存储在文件中,然后通过环境将其提供给库变量。

因此,是否不支持来自Google Cloud Client库证书的身份验证?

约翰·汉利

因此,是否不支持来自Google Cloud Client库证书的身份验证?

取决于auth使用证书的定义Google Cloud SDK和相应的API不支持证书授权。Google使用的证书的唯一部分是私钥。P12 / PFX证书文件和JSON密钥文件中都存在相同的私钥。

P12 / PFX证书格式是旧格式,不再建议使用。较新的JSON密钥格式包含更多信息,这些信息改进了验证期间的密钥查找等项目。但是,唯一需要的项是私钥,这两种格式都相同,但编码方式不同(二进制与PEM)。

当您不在GCP中运行时,似乎唯一使用Google Cloud Client Libraries访问Google服务的方法是下载服务帐户密钥(JSON)并将其存储在文件中,然后通过环境将其提供给库变量。

我认为您做出的错误假设是可以创建自己的证书文件并将其用于授权。您只能使用由Google Cloud生成的私钥。因此,您对P12 / PFX证书文件和JSON密钥文件都具有相同的限制。除非您正在使用服务帐户模拟或在支持元数据服务器获取令牌的Google Cloud服务上运行,否则必须下载两种类型。

现在,旧版Google API客户端库提供了一种通过FromCertificate()方法从证书创建ServiceAccountCredential的方法。我似乎无法在Google Cloud Client库中找到实现此目的的方法。

这些库支持从JSON加载服务帐户。您可以从P12 / PFX证书中提取私钥,使用PEM进行编码,构建JSON结构,然后像最初拥有JSON密钥格式的服务帐户一样进行操作。

我的网站上有许多有关P12证书服务帐户的文章,包括从P12到JSON的转换。

我的建议是切换到JSON格式的服务帐户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Google Cloud Endpoints进行API身份验证

Google Cloud Tasks无法通过Cloud Run进行身份验证

使用Google API库进行Java到Google Cloud的身份验证

在没有服务帐户的情况下通过Google Cloud SDK进行身份验证

通过Firebase匿名身份验证可以进行Google Cloud MySQL实例访问控制吗?

通过Google Cloud IAP进行身份验证后,如何实现基于角色的授权?

如何使用服务帐户通过 Google Cloud SQL Java 进行身份验证

Google Cloud Build无法通过我的私有GitHub存储库进行身份验证

使用Go进行Google Cloud Bigtable身份验证

Google Cloud Text To Speech REST API 身份验证

curl如何基于本地gcloud的CLI身份验证向Google Cloud进行身份验证?

使用Firebase身份验证对Google Cloud BigQuery库进行身份验证-NodeJS

Google Cloud Platform中的身份验证

是否可以通过JSON密钥文件本身而非文件路径进行Google Cloud Python身份验证?

无法通过Google Client API Android进行身份验证

Google Cloud API Gateway 在使用 Firebase 身份验证时无法调用 Cloud Run 服务

通过代码而不是“同意屏幕” ASP.net/C#对Google用户进行身份验证

通过Google进行OWIN身份验证

将Firebase应用程序与Google登录一起使用时,如何通过Google Cloud Function进行身份验证?

Google Chrome通过新的GeoTrust证书为“ SHA1进行邮件身份验证”

如何在没有应用程序默认凭据或Cloud SDK的情况下向Google Cloud API进行身份验证?

适用于 Google Cloud 的 Powershell:使用服务帐号进行身份验证

如何使用Google Cloud Storage对Java应用程序进行身份验证?

使用Workload Identity从GKE向Google Cloud Firestore进行身份验证

如何使用Python中的服务帐户向Google Cloud进行身份验证?

使用cURL使用JSON密钥文件进行Google Cloud身份验证

Google Cloud Endpoints - 从内部数据库对用户进行身份验证

Google Cloud Functions-如何向AWS S3存储桶进行身份验证?

使用Google Cloud进行用户身份验证和会话记录