ms-dred
@ms-dred
Вечно что то не то и что то не так...

Что не так делаю с подписью для Yandex Object Storage?

Не пойму в чем дело, выплевывает следующую ошибку
The request signature we calculated does not match the signature you provided. Check your key and signing method.


Функция для генерации подписи
sign(key, value) {
        return createHmac("sha256", key).update(value).digest("hex")
    }


const signature = this.sign(
            this.sign(
                this.sign(
                    this.sign("AWS4" + process.env.CLOUD_SECRET_KEY, YYYYMMDD),
                    "ru-central1"),
                "s3"),
            "aws4_request")


const storage = new URL(process.env.CLOUD_HOST)
        storage.pathname = path.join(process.env.CLOUD_BUCKET, href)
        storage.searchParams.set("X-Amz-Algorithm", "AWS4-HMAC-SHA256")
        storage.searchParams.set("X-Amz-Credential", `${process.env.CLOUD_ID_KEY}/${YYYYMMDD}/ru-central1/s3/aws4_request`)
        storage.searchParams.set("X-Amz-Date", toISOString)
        storage.searchParams.set("X-Amz-Expires", 3600)
        storage.searchParams.set("X-Amz-SignedHeaders", "host")
        storage.searchParams.set("X-Amz-Signature", signature)


        const response = await axios.get(storage)


Чем подпись не устраивает?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы