問題の説明
署名の有効期限を指定するフィールドは空です。
発生原因
V4署名を使用するリクエストを開始します。 ただし、リクエストのx-oss-expiresフィールドは空です。
例
以下にコードの例を示します。
GET /oss.jpg?x-oss-signature-verion=OSS4-HMAC-SHA256&x-oss-credential=***&x-oss-expires=&x-oss-additional-headers=host&x-oss-signature=8u**a3 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMTx-oss-expiresフィールドは必須です。 これはUnixタイムスタンプであり、署名の有効期間を指定するために使用されます。
ソリューション
リクエストには、x-oss-signature-verion、x-oss-credential、x-oss-expires、およびx-oss-signatureフィールドを指定する必要があります。 必要に応じて、x-oss-additional-headersフィールドを指定できます。 次のコードは、x-oss-credentialフィールドを指定する方法の例を示しています。
GET /oss.jpg?x-oss-signature-verion=OSS4-HMAC-SHA256&x-oss-credential=LTAI****************/20221220/cn-hangzhou/oss/aliyun_v4_request&x-oss-expires=1141889120&x-oss-additional-headers=host&x-oss-signature=8u**a3 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMT参考資料
Alibaba Cloud SDKを使用してV4署名を使用するリクエストを開始する方法については、「概要」をご参照ください。
署名を計算する:
V4シグネチャの計算方法については、「OSS SDK For Pythonを使用したV4シグネチャの計算」をご参照ください。
V1署名に基づいて署名ロジックを指定する方法については、「概要」をご参照ください。
サーバーが
StringToSignパラメーターを含む応答を返す場合は、サーバーのStringToSignパラメーターの値が計算前の文字列と同じかどうかを確認する必要があります。