gpt4 book ai didi

php - 在 XML 中使用 HMAC-SHA1 生成 SignatureValue

转载 作者:行者123 更新时间:2023-12-05 08:02:44 25 4
gpt4 key购买 nike

签名方式为HMAC-SHA1 , 我已经有了 <SignedInfo>产生。问题是我不确定在 HMAC 计算中使用什么作为 key 。

我注意到有两个 <Entropy>附上 <BinarySecret>来自初始请求 (RST) 和响应 (RSTR)。我从 WS-Trust 了解到,这表明我可以使用 <BinarySecret> 中的这两个二进制值生成证明 key 。和 PSHA1<ComputeKey> 中所述来自响应的标记。但是,我永远无法从服务提供商处获得与示例中相同的签名值。

任何信息都会有所帮助!

举个例子:

  • 来自 RST 的二进制 secret 是 grrlUUfhuNwlvQzQ4bV6TT3wA8ieZPltIf4+H7nIvCE=
  • 来自 RSTR 的二进制 secret 是 YLABh3ZmZyiO5gvVLZe9J4JPd9w59KGeTFwE85XlzxE=
  • 正确的签名值是 nXJEN8p1nupMA/00TK03VZlADkU=
  • 我生成的签名值是 bEGpeRFsznafFRf86g281zKV3Ro=
  • SignInfo的内容如下
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>
<Reference URI="#_0">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>CwMGnFZklO7XsDfFguzl0tw7iHM=</DigestValue>
</Reference>
</SignedInfo>

最佳答案

您是否记得在散列/验证之前对值进行 base64 解码?顺便说一句,您可以使用 hash() 对 sha256 进行散列而无需 key 。

关于php - 在 XML 中使用 HMAC-SHA1 生成 SignatureValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com