我计划使用类似于Amazon AWS 示例的代码来验证签名的 API 请求。所以用户会有类似的东西:
use Digest::SHA qw(hmac_sha256_base64);
my $digest = hmac_sha256_base64 ($request, $self->{SecretKey});
$digest
并作为参数附加到他们的请求 URI。服务器端将使用相同的算法从客户端 URI 创建摘要,并将其与客户端发送的值进行比较。
我找不到的是Perl支持生成正确长度的 SecretKey 以在生成 HMAC SHA256 摘要时使用。
对于我的 Amazon AWS 账户,我得到了一个 40 ASCII 字符的 base64 编码字符串。
如何为我的客户生成正确的密钥?