jsrsasign库-如何生成HMAC-SHA256?

时间:2018-10-11 05:23:00

标签: javascript cryptography sha256 hmac microsoft-teams

我正在尝试验证Microsoft Teams传出的Webhook消息到我的Rest终结点。来自团队的标头“授权” HTTP Post请求中,根据他们需要的文档,我需要验证一个HMAC签名:

  1. 从消息的请求正文生成hmac。在大多数平台上都有标准库可以执行此操作。 Microsoft Teams使用标准的SHA256 HMAC加密。您需要将主体转换为UTF8中的字节数组。
  2. 要计算哈希,请在注册传出Webhook时提供Microsoft Teams提供的安全令牌的字节数组。
  3. 使用UTF8编码将哈希转换为字符串。
  4. 将生成的哈希的字符串值与HTTP请求中提供的值进行比较。

我的REST端点是ServiceNow,涉及本机JS功能时受到限制。我能够成功导入jsrsasign库,并通过验证JWT确认它可以正常工作。我查看了他们关于MAC和Message Digest的API文档,但并没有完全了解我需要做的事情。谁能提供有关如何使用此库生成HMAC签名的示例的帮助我,以便与我收到的HMAC进行比较? 我尝试了类似的方法,但似乎没有用:


<input type="button" [disabled]="selectedStock.ItemCode === null || selectedStock.ItemCode === null" class="btn btn-success DefaultBtnStyle" value="Add Item" (click)="addItems(newStockRequestForm.value);newStockRequestForm.reset()" />

0 个答案:

没有答案