列表订阅操作:禁止 403
本文关键字:禁止 操作 列表 | 更新日期: 2023-09-27 18:32:55
我正在调用Azure REST列表订阅操作。
在我的开发计算机上,我已将证书安装到当前用户''个人。我可以成功调用 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 月。所以我认为它是有效的?
问题:
- 相同的代码/项目/服务适用于我的本地机器,但不适用于测试盒。为什么? 证书
- 指纹相同,证书相同。证书与订阅 azure 帐户相关联,因为它在本地工作!为什么?
我还应该检查什么?我知道本地和测试盒服务都将证书附加到 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 小时。这是为什么吗?或者这种反应只是小提琴手对日期的解释?
从我的开发计算机以 PFX 格式导出证书以及私钥,然后在生产计算机上导入该 PFX 证书,这在我的情况下解决了身份验证/证书问题。