我有一个WebAPI网络服务,可以在https协议和WP8应用程序下运行,从这个Web服务获取数据。
我被要求用网络服务对应用进行数字签名。我不知道我该怎么做,或者甚至可能,但我们的想法是确保只有应用程序可以访问此Web服务。
这就是我访问网络API的方式:
using (var client = new HttpClient())
{
var uri = new Uri("...");
try
{
var json = await client.GetStringAsync(uri);
result = JsonConvert.DeserializeObject<List<AccountSearch>>(json);
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
return result;
}
你能告诉我一些我应该寻找的想法以及你们这样做的最官方方式吗?
提前致谢。
答案 0 :(得分:0)
我上周正在寻找答案,我发现使用客户端应用程序安全地签署Web服务的最佳方法之一是密钥哈希消息身份验证HMAC(http://en.wikipedia.org/wiki/Hash-based_message_authentication_code)。
我找到了一些如何使用它的例子,但没有一个与WP项目有关。 我决定在github上分享我的解决方案: https://github.com/greglecki/HMACSignature
希望有人发现它有用。