DAT
Belgeler

Hata kodları

DAT uygulamaları, insanların okuyabildiği mesajlardan ayrı olarak kararlı hata kodları sunar. Programlar kararı mesaj dizgelerini karşılaştırarak değil, kodu ve yeniden deneme sınıfını kullanarak verir.

Okuma biçimi

text
DAT_<alan>_<neden>
ÖnekAlan
DAT_TOKEN_DAT dizgesi ve sona erme
DAT_CERT_Sertifika dizgesi ve durumu
DAT_SIG_İmzalama ve doğrulama
DAT_CRYPTO_Şifreleme ve şifre çözme
DAT_KEY_Anahtar biçimi ve yetkiler
DAT_MANAGER_Sertifika yöneticisi
DAT_CONFIG_Çağrı bağımsız değişkenleri ve ayarlar
DAT_INTERNAL_Çalışma zamanının iç işlevleri
DAT_CMS_CMS istemci eşitlemesi
DAT_AUTH_, DAT_REQ_, DAT_STORE_CMS sunucusu

_UNKNOWN yalnızca ilgili alanda başka bir kodla sınıflandırılamayan hatalarda kullanılır. Aynı neden farklı alanlarda da aynı adı kullanır.

Yeniden deneme sınıfları

SınıfAnlamİşlem
GeçiciDış durum düzelirse başarılı olabilirGecikmeli ve sınırlı yeniden deneme
DurumSertifika eşitlemesi veya zaman değişirse başarılı olabilirGerekli durumu yeniledikten sonra yeniden deneme
KalıcıAynı girdiyle tekrarlandığında başarısız olurGirdiyi, ayarı veya kodu düzeltme

Token ve sertifika

DAT_TOKEN_MALFORMEDEtki yokKalıcı

DAT'nin alan sayısı, sayısal veya Base64Url gösterimi standarda uymuyor. Girdiyi atın.

DAT_TOKEN_EXPIREDEtki yokKalıcı

DAT'nin sona erme zamanı geçerli zamana eşit veya daha eski. Yeni bir DAT alınmalıdır.

DAT_CERT_MALFORMEDEtki yokKalıcı

Sertifika dizgesinin yapısı veya alan gösterimi yanlıştır.

DAT_CERT_NOT_FOUNDEtki yokDurum

DAT'nin `cid` değerine karşılık gelen sertifika yok. Sertifika eşitleme durumunu denetleyin.

DAT_CERT_NOT_SYNCEDEtki yokDurum

Kullanılacak sertifika servise henüz ulaşmamış olabilir. Hemen eşitleyip yeniden değerlendirin.

DAT_CERT_NOT_YET_VALIDEtki yokDurum

Sertifikanın başlangıç zamanı henüz gelmedi. Sistem zamanını ve sertifika dağıtım zamanını denetleyin.

DAT_CERT_EXPIREDEtki yokKalıcı

Sertifikanın doğrulanabilir süresi sona erdi.

DAT_CERT_DUPLICATEKısmiKalıcı

Tek bir içe aktarma listesinde aynı `cid` tekrarlandı. İçe aktarmanın tamamı reddedilir.

İmza, şifreleme ve anahtarlar

DAT_SIG_MISMATCHEtki yokKalıcıshieldŞüpheli

İmza gövdeyle uyuşmuyor. DAT değiştirilmiş veya farklı bir anahtarla imzalanmış olabilir.

DAT_CRYPTO_TAG_MISMATCHEtki yokKalıcıshieldŞüpheli

AES-GCM kimlik doğrulama etiketi uyuşmuyor. Şifreli metnin değiştirilip değiştirilmediğini veya sertifika uyuşmazlığını denetleyin.

DAT_KEY_INVALIDEtki yokKalıcı

Anahtar uzunluğu, biçimi veya algoritma birleşimi geçersiz.

DAT_SIG_KEY_MISSINGEtki yokKalıcı

Yalnızca doğrulama sertifikasıyla DAT verilmeye çalışıldı. Token veren servisin tam sertifikaya ihtiyacı vardır.

DAT_SIG_MISMATCH ve DAT_CRYPTO_TAG_MISMATCH, açık güvenlik olayı API'sinin doğru olarak sınıflandırdığı hatalardır. Tek bir geçersiz girdi servis arızası değildir, ancak yinelenirse güvenlik gözlemine alınır.

Yönetici ve yapılandırma

DAT_MANAGER_NO_CERTIFICATEKısmiDurum

Yöneticide sertifika yok. Sertifikaları içe aktarın veya CMS eşitlemesini tamamlayın.

DAT_MANAGER_NO_ISSUABLE_CERTIFICATEKısmiDurum

Sertifikalar var, ancak o anda token verebilen tam sertifika yok. Neden zincirinde sona ermeyi, başlangıç zamanını veya verify-only durumunu denetleyin.

DAT_CONFIG_ARGUMENT_INVALIDEtki yokKalıcı

Çağrı bağımsız değişkeni veya ayar değeri izin verilen aralığın dışında.

DAT_INTERNAL_UNAVAILABLEKritikKalıcı

Geçerli platformda gereken şifreleme veya ağ işlevi yok.

CMS istemcisi

KodAnlamGenel işlem
DAT_CMS_URI_INVALIDCMS URI biçimi hatalıAyarı düzeltme
DAT_CMS_UNAUTHORIZEDKimlik doğrulama başarısızTokenı düzeltme
DAT_CMS_FORBIDDENRolün yetkisi yokToken rolünü denetleme
DAT_CMS_ENDPOINT_NOT_FOUNDYol yok veya farklıCMS adresini ve yolunu denetleme
DAT_CMS_NETWORKBağlantı veya aktarım başarısızAğı denetleyip gecikmeli yeniden deneme
DAT_CMS_TIMEOUTZaman aşımıAğı ve zaman aşımını ayarlama
DAT_CMS_SERVER_ERRORCMS sunucu hatasıSunucu durumunu denetleyip gecikmeli yeniden deneme
DAT_CMS_RESPONSE_INVALIDBaşarılı yanıtın biçimi hatalıSunucu-istemci sözleşmesini denetleme
DAT_CMS_VERSION_RESETSunucu sürümü gerilediCMS verisini ve dağıtım durumunu denetleme
DAT_CMS_IMPORT_FAILEDAlınan sertifikalar uygulanamadıNeden zincirini denetleme
DAT_CMS_STOPPEDKapatılmış yönetici kullanıldıYeni yönetici oluşturma veya çağrı sırasını düzeltme

İlk eşitlemesi best-effort olan kütüphaneler hatayı son hata alanında saklar. Başlangıcın başarısız olması gerekiyorsa hatayı doğrudan döndüren veya fırlatan anında eşitleme API'sini kullanın.

CMS sunucusu

KodHTTPAnlam
DAT_AUTH_UNAUTHORIZED401Token yok veya geçersiz
DAT_AUTH_FORBIDDEN403Token rolü istek yetkisiyle uyuşmuyor
DAT_REQ_ALG_UNSUPPORTED400Desteklenmeyen algoritma adı
DAT_REQ_NOT_FOUND404·405Yol veya yöntem uyuşmazlığı
DAT_REQ_TOO_LARGE413İstek gövdesi sınırının aşılması için ayrılmış kod
DAT_STORE_UNAVAILABLE503Depo geçici olarak kullanılamıyor
DAT_STORE_UNKNOWN500Depo işlemi sırasında sınıflandırılamayan hata

Mevcut istemciler 2xx olmayan JSON yanıtlarındaki sunucu kodunu olduğu gibi göstermez; HTTP durumunu DAT_CMS_* koduna dönüştürür. Sunucu günlüğü ile istemci hata kodu farklı olabilir.

Dile göre denetleme

OrtamHata koduYeniden deneme sınıfı
Rusterr.code()err.retry()
Godat.Code(err)dat.Retry(err)
JavaScript / TypeScripterror.codeerror.retry
Pythonerror.codeerror.retry
Rubyerror.codeerror.retry
Java / Kotlinerror.codeerror.retry
C#error.Codeerror.Retry
C / C++dat_error_code(error)dat_error_retry(error)

Alt nedeni olan hatalar, ilgili dilin istisna zinciri veya neden sorgulama API'siyle incelenir.