Node.js Amazon S3签名

Node.js Amazon S3签名,node.js,amazon-web-services,amazon-s3,Node.js,Amazon Web Services,Amazon S3,如何在nodejs环境中创建加密的十六进制编码签名 你就是这样做的吗 const secret = 'mysecret'; const date = yyyymmdd; const dateKey = crypto.createHmac('sha256', 'AWS4' + secret + ',' + date); const dateRegionKey = crypto('sha256', dateKey + ',' + 'myregion') const DateRegionServic

如何在nodejs环境中创建加密的十六进制编码签名

你就是这样做的吗

const secret = 'mysecret';
const date = yyyymmdd;
const dateKey = crypto.createHmac('sha256', 'AWS4' + secret + ',' + date);
const dateRegionKey = crypto('sha256', dateKey + ',' + 'myregion')
const DateRegionServiceKey = crypto('sha256', dateRegionKey + ',' + 'someservice');
const signingKey = crypto('sha256', DateRegionServiceKey + ',' + 'aws4_request');

const signature = crypo('sha256', signingKey + base64Policy);

高水平看起来还可以。我希望您知道机密不仅仅是字符串,它是IAM用户accessKey/secretKey对的secretKey

您想自己做而不使用AWS SDK的具体原因是什么

另请看下面的示例签名实现(Java),它适用于AWS ElasticSearch。看看getSignatureKey和calculateSignature方法


您应该使用此库 您需要使用
result=aws4.sign({},{cred from AWS})


然后返回result.headers,这些头是您需要在请求中发送的头

base64Policy
?那么,你是在为一个?