AWS-KMS服务使用时间戳在签名中添加额外的随机化。因此,当使用AWS-KMS签名验证时,您需要将其配置为接受在一定时间窗口内的签名变化。以下是一个示例代码片段,用于配置AWS SDK,以接受在60秒内的签名变化:
const AWS = require('aws-sdk');
const kms = new AWS.KMS({
region: 'us-west-2',
signatureVersion: 'v4',
retryDelayOptions: { base: 200 }
});
const signOptions = {
expiresIn: 60
};
const signed = await kms.sign(signOptions).promise();
在上面的示例代码中,我们将expiresIn
选项设置为60秒,以允许签名在这个时间窗口内发生变化,并使用AWS SDK中的kms.sign()
方法来创建签名。