列表订阅操作:403禁止

时间:2013-09-27 02:25:11

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

我打电话给Azure REST List Subscription Operation

在我的开发机器上,我已将证书安装到Current User \ Personal。我可以成功调用API并获得响应。响应代码= 200

在测试框中,我已将相同的证书安装到Current Use \ Personal。我无法调用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. 证书指纹相同,证书相同。证书与Subscription azure帐户相关联,因为它在本地运行!为什么?
  3. 我还应该检查什么?我知道本地和测试盒服务都将证书附加到Web请求(我通过详细的日志记录知道这一点)但是在

    的时候

    HttpWebResponse webResponse = webRequest.GetResponse()as HttpWebResponse;

  4. 我收到了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
    

    现在我想知道Date部分是否是问题。我记得读到日期必须在请求的15分钟内。在测试框中,当前时间是下午12:49所以返回的日期似乎是“提前”2小时。这可能是为什么?或者那个回应只是费德勒对日期的解释?

1 个答案:

答案 0 :(得分:1)

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