Я планирую использовать код, похожий на Примеры 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 мне предоставляется строка в кодировке base64 из 40 символов ASCII.
Как мне создать правильный секретный ключ для моих клиентов?