我打电话给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月。所以我认为它是有效的?
问题:
我还应该检查什么?我知道本地和测试盒服务都将证书附加到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
现在我想知道Date部分是否是问题。我记得读到日期必须在请求的15分钟内。在测试框中,当前时间是下午12:49所以返回的日期似乎是“提前”2小时。这可能是为什么?或者那个回应只是费德勒对日期的解释?
答案 0 :(得分:1)
从我的开发机器上以 PFX格式导出证书以及私钥,然后在生产计算机上导入该PFX证书,解决了身份验证/证书问题就我而言。