gpt4 book ai didi

c# - 从 Azure Websites for Google API 中的 p12 证书生成 X509Certificate2 时出现 502 错误

转载 作者:可可西里 更新时间:2023-11-01 08:19:59 27 4
gpt4 key购买 nike

我正在使用This GoogleJsonWebToken 类来生成与 Google Calendar API 的 json 调用一起使用的访问 token 。当我使用以下内容(使用我的实际服务帐户电子邮件)时,它在我的开发计算机上的 IIS Express 中运行得非常好:

string p12Path = HttpContext.Current.Server.MapPath("~/App_Data/certificate.p12");
var auth = GoogleJsonWebToken.GetAccessToken("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9aeff4f3ebefffe9eee8f3f4fddafeffecfff6f5eaffe8b4fde9ffe8ecf3f9fffbf9f9f5eff4eeb4f9f5f7" rel="noreferrer noopener nofollow">[email protected]</a>",
p12Path,
"https://www.googleapis.com/auth/calendar");
string Token = auth["access_token"];

为了测试这个,我只是打电话 @Token在我的 cshtml razor View 中。当我将其发布到我的 Azure 网站时,它不起作用。如果我离开 GoogleJsonWebToken未修改的类我得到一个非常无用的 502 - Web server received an invalid response while acting as a gateway or proxy server.没有其他信息。

经过一些 Google 搜索后,我发现 this SO post这是一个类似的问题。所以我尝试了他们的解决方案,我得到 System.Security.Cryptography.CryptographicException: The system cannot find the file specified.当它从我的 Azure 网站运行时。当它从我的开发机器运行时,我得到 System.Net.WebException: The remote server returned an error: (400) Bad Request.我认为这是因为通过该解决方案 CspKeyContainerInfo.KeyContainerNamenull而在我的开发机器上运行时原始未修改的类给了我类似 {C0E26DC5-5D2C-4C77-8E40-79560F519588} 的东西每次都是随机生成的,签名过程中会用到这个值。

然后我发现this SO post但该解决方案产生了与上一个解决方案相同的结果。

我还尝试了 X509KeyStorageFlags 的大多数不同组合。没有效果。

我怎样才能生成 CspKeyContainerInfo.KeyContainerName我自己或以其他方式成功生成 X509Certificate2

最佳答案

我在 this MSDN forum post 上找到了解决方案。基本上我需要设置 X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet正如我在我提到的第一篇 SO 帖子中读到的那样,然后我需要 Flags = CspProviderFlags.UseMachineKeyStore在我的 CspParamaters 中。

我已经发布了我的full solution on GitHub

关于c# - 从 Azure Websites for Google API 中的 p12 证书生成 X509Certificate2 时出现 502 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30121412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com