.Net Core Web Api Alexa技能签名验证失败

时间:2017-08-22 17:33:15

标签: c# digital-signature alexa-skills-kit

我有一个.net核心(netcoreapp1.1)Web API。其中一个端点用于我们的Alexa技能。除了签名验证之外,我能够解决Amazons QA流程的所有问题。

对于那些不熟悉亚马逊要求的人:

  1. Base64-解码请求上的Signature标头值以获取加密签名。

  2. 使用从签名证书中提取的公钥解密加密签名以生成声明的哈希值。

  3. 从完整的HTTPS请求正文生成SHA-1哈希值以生成派生的哈希值

  4. 比较断言的哈希值和派生的哈希值,以确保它们匹配。

  5. 参考(我能够成功完成#4以上的所有步骤):  https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-web-service?ref_=pe_679090_102923190#checking-the-signature-of-the-request

    Here's an example of how many are doing this validation in .net 4.5 / 4.6 not .net core.

    请注意,SHA1Managed()类并不存在于.net核心加密中,或者至少我还没有能够找到要添加的正确的nuget包。

    这是我的翻译。每次哈希验证都会返回false。我将签名和全身注销并在本地重现/测试,但没有骰子。

    .../oauth2/v2.0/token?p={{policy}}...

0 个答案:

没有答案