c# - 列表订阅操作 : 403 forbidden

标签 c# azure http-status-code-403

我正在调用Azure REST List Subscription Operation .

在我的开发计算机上,我已将证书安装到当前用户\个人中。我可以成功调用 API 并获得响应。响应代码 = 200

在测试盒上,我已将相同的证书安装到“当前使用\个人”中。我无法调用 API。我收到 403 禁止。完整错误如下:

<Error>
    <Code>AuthenticationFailed</Code>
    <Message>The server failed to authenticate the request.
    Verify that the certificate is valid and is associated with this subscription.
    </Message>
</Error>

所以我检查了证书,它从今天早些时候开始有效(因为它是今天导入的),并且有效期到 2040 年 1 月。所以我认为它是有效的?

问题:

  1. 相同的代码/项目/服务可以在我的本地计算机上运行,​​但不能在测试盒上运行。为什么?
  2. 证书指纹相同,证书也相同。该证书与订阅 azure 帐户关联,因为它在本地运行!为什么?
  3. 我还应该检查什么?我知道本地和测试盒服务都将证书附加到 Web 请求(我通过详细日志记录知道这一点),但在

    HttpWebResponse webResponse = webRequest.GetResponse() as HttpWebResponse;

我收到 403 禁止错误。

这件事让我发疯了。

更新:

在我在 Fiddler 中查看的响应中,响应的开头是:

HTTP/1.1 403 Forbidden
Content-Length: 294
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 27 Sep 2013 02:49:59 GMT

现在我想知道日期部分是否是问题所在。我记得读过,日期必须在请求后 15 分钟内。在测试盒上,当前时间为中午 12:49,因此返回的日期似乎“提前”了 2 小时。这可能是原因吗?或者这个响应只是 Fiddler 对日期的解释?

最佳答案

从我的开发计算机中以PFX 格式导出证书以及私钥,然后将该 PFX 证书导入到生产计算机上,这解决了身份验证/证书问题就我而言。

关于c# - 列表订阅操作 : 403 forbidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041741/

相关文章:

c# - Entity Framework 6 : Creating database with multiple contexts

Azure 网站 - 共享计划和 SSL(又名 HTTPS)

web-services - 解释 : The underlying connection was closed: The connection was closed unexpectedly

c# - WPF 将枚举绑定(bind)到可见性

c# - 用户控件作为具有绑定(bind)的数据模板

c# - 为什么 RoleEnvironment.IsEmulated 通常不用于区分 Azure 云和计算模拟器?

azure - 使用数据工厂将表从 SAP BW 提取到 Azure Data Lake Gen2

php - 为什么我在本地使用 codeigniter 时会收到 403 Forbidden 错误?

phpmyadmin - 在 centOS 上运行 phpmyadmin - 禁止错误 (403)

c# - HTTP 可以用来跟踪连接吗?