すべてのプロダクト
Search
ドキュメントセンター

:OSS APIまたはSDKを使用すると、"SignatureDoesNotMatch" 署名に関連するエラーが報告されます

最終更新日:Nov 10, 2025

問題の説明

OSS APIまたはSDKを使用すると、「SignatureDoesNotMatch」署名関連のエラーが表示されます。

SignatureDoesNotMatch: 計算したリクエスト署名は、指定した署名と一致しません。 キーと署名方法
を確認する

原因

OSS APIまたはSDKを使用する場合、クライアントは検証のためにOSSサーバーに署名情報を伝達する必要があります。 クライアントによって計算された署名がOSSサーバーによって計算された署名と一致しない場合、リクエストは検証に合格しません。

解決策

チェックAKとSKの精度

  1. ossbrowserツールを使用して、AKとSKが正しいかどうかを確認できます。 ossbrowserツールの使用方法の詳細については、「ossbrowserの迅速な使用」をご参照ください。

  2. ossbrowserが使用されている場合、AccessKeyペアとSKは正しくありません。 詳細については、「AccessKeyペアの作成」をご参照ください。新しいAccessKeyペアとSKを作成します。

エンドポイント情報の精度の確認

エンドポイントが正しいかどうかを確認する必要があります。 異なるリージョンのバケットは、異なるエンドポイントに対応します。 詳細については、「ドメイン名とデータセンターへのアクセス」をご参照ください。 エンドポイント情報の形式は、endpoint = "http://oss-cn-beijing.aliyuncs.com" です。 OSSリソースの2つのリクエスト方法は次のとおりです。

  • URLの形式でOSSリソースをリクエストする場合、OSS URLの構成は次のとおりです。

    [$スキーマ]://[$バケット].[$End point]/[$Object]
    説明

  • SDKの形式でOSSリソースをリクエストする場合、次のようになります。

    文字列accessKeyId = "XXX";
    文字列accessKeySecret = "XXX";
    String endpoint = "oss-cn-XXX.aliyuncs.com";
    OSSClient client = new OSSClient (エンドポイント、accessKeyId、accessKeySecret);
    
    
    

SDKバージョンの確認

"SignatureDoesNotMatch" の問題は、いくつかの古いバージョンのSDKを使用するときに発生する可能性があります。 古いバージョンのSDKを使用している場合は、最新のSDKバージョンを使用してください。 公式Webサイトの対応するSDKリンクには、最新のバージョン情報があります。 アドレスの取得の詳細については、「Object Storage Service (OSS) が提供する主流言語SDK」をご参照ください。

構築したAPIの確認

署名が独自のAPIである場合は、OSSが提供するSDKを使用することを推奨します。 詳細については、「アクセス許可」をご参照ください。 または、署名の計算に使用されるアルゴリズムロジックを確認できます。 署名アルゴリズムの作成方法の詳細については、「ヘッダーに署名を含める」をご参照ください。

適用範囲

  • OSS