All Products
Search
Document Center

:Saat menggunakan API atau SDK OSS, terjadi kesalahan terkait tanda tangan "SignatureDoesNotMatch"

Last Updated:Jul 06, 2025

Deskripsi masalah

Kesalahan "SignatureDoesNotMatch" muncul saat Anda menggunakan API atau SDK OSS.

SignatureDoesNotMatch: Tanda tangan permintaan yang kami hitung tidak sesuai dengan tanda tangan yang Anda berikan. Periksa kunci dan metode penandatanganan Anda

Penyebab

Saat menggunakan API atau SDK OSS, klien harus menyertakan informasi tanda tangan untuk diverifikasi oleh server OSS. Jika tanda tangan yang dihitung oleh klien tidak sesuai dengan tanda tangan yang dihitung oleh server OSS, permintaan gagal diverifikasi.

Solusi

Periksa Akurasi AK dan SK

  1. Gunakan alat ossbrowser untuk memeriksa kebenaran AK dan SK Anda. Untuk panduan penggunaan ossbrowser, lihat Penggunaan Cepat ossbrowser.

  2. Jika ossbrowser menunjukkan bahwa pasangan AccessKey dan SK salah, buat pasangan AccessKey baru dengan mengacu pada Buat Pasangan AccessKey.

Periksa Akurasi Informasi Endpoint

Pastikan endpoint yang digunakan sudah benar. Bucket di wilayah berbeda memiliki endpoint yang berbeda. Untuk detail lebih lanjut, lihat Nama Domain Akses dan Pusat Data. Format endpoint adalah endpoint = "http://oss-cn-beijing.aliyuncs.com". Berikut dua metode permintaan untuk sumber daya OSS:

  • Jika Anda meminta sumber daya OSS dalam bentuk URL, komposisi URL OSS adalah sebagai berikut:

    [$Schema]://[$Bucket].[$Endpoint]/[$Object]
    Catatan

    Catatan:

    • [$Schema]: HTTP atau HTTPS.

    • [$Bucket]: Nama Bucket OSS.

    • [$Endpoint]: Untuk informasi lebih lanjut tentang endpoint setiap wilayah, lihat Nama Domain Akses dan Pusat Data.

    • [$Object]: Jalur akses objek yang diunggah ke OSS.

  • Jika Anda meminta sumber daya OSS dalam bentuk SDK, contohnya adalah sebagai berikut:

    String accessKeyId = "XXX";
    String accessKeySecret = "XXX";
    String endpoint = "oss-cn-XXX.aliyuncs.com";
    OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    
    
    

Periksa Versi SDK

Masalah "SignatureDoesNotMatch" dapat terjadi jika Anda menggunakan versi lama SDK. Pastikan Anda menggunakan versi SDK terbaru. Informasi versi terbaru tersedia di tautan SDK situs resmi. Untuk panduan mendapatkan alamat, lihat Object Storage Service (OSS) Menyediakan SDK Bahasa Utama.

Periksa API yang Dibuat

Jika tanda tangannya berasal dari API buatan Anda sendiri, kami sarankan menggunakan SDK yang disediakan oleh OSS. Untuk informasi lebih lanjut, lihat Otorisasi Akses. Sebagai alternatif, periksa logika algoritma yang digunakan untuk menghitung tanda tangan. Untuk panduan membangun algoritma tanda tangan, lihat Sertakan Tanda Tangan dalam Header.

Ruang lingkup aplikasi

  • OSS