DAT
Tài liệu

Mã lỗi

Các triển khai DAT cung cấp mã lỗi ổn định tách biệt với thông báo dành cho con người. Chương trình phải quyết định cách xử lý bằng mã lỗi và loại thử lại, không so sánh chuỗi thông báo.

Cách đọc

text
DAT_<phạm_vi>_<nguyên_nhân>
Tiền tốPhạm vi
DAT_TOKEN_Chuỗi DAT và thời hạn
DAT_CERT_Chuỗi và trạng thái chứng chỉ
DAT_SIG_Chữ ký và xác minh
DAT_CRYPTO_Mã hóa và giải mã
DAT_KEY_Định dạng và quyền của khóa
DAT_MANAGER_Trình quản lý chứng chỉ
DAT_CONFIG_Đối số gọi và cấu hình
DAT_INTERNAL_Chức năng nội bộ của runtime
DAT_CMS_Đồng bộ máy khách CMS
DAT_AUTH_, DAT_REQ_, DAT_STORE_Máy chủ CMS

_UNKNOWN chỉ dùng cho lỗi không thể phân loại bằng mã khác trong cùng phạm vi. Cùng một nguyên nhân dùng cùng một tên dù xuất hiện ở phạm vi khác.

Phân loại thử lại

LoạiÝ nghĩaCách xử lý
Tạm thờiCó thể thành công khi trạng thái bên ngoài phục hồiThử lại có giới hạn sau khi chờ lùi
Trạng tháiCó thể thành công khi đồng bộ chứng chỉ hoặc thời gian thay đổiCập nhật trạng thái cần thiết rồi thử lại
Vĩnh viễnVẫn thất bại với cùng đầu vàoSửa đầu vào, cấu hình hoặc mã

Token và chứng chỉ

DAT_TOKEN_MALFORMEDKhông ảnh hưởngVĩnh viễn

Số trường, số hoặc biểu diễn Base64Url của DAT không đúng đặc tả. Hãy loại bỏ đầu vào.

DAT_TOKEN_EXPIREDKhông ảnh hưởngVĩnh viễn

Thời điểm hết hạn của DAT bằng hoặc sớm hơn thời gian hiện tại. Cần lấy DAT mới.

DAT_CERT_MALFORMEDKhông ảnh hưởngVĩnh viễn

Cấu trúc hoặc biểu diễn trường của chuỗi chứng chỉ không hợp lệ.

DAT_CERT_NOT_FOUNDKhông ảnh hưởngTrạng thái

Không có chứng chỉ ứng với `cid` của DAT. Hãy kiểm tra trạng thái đồng bộ chứng chỉ.

DAT_CERT_NOT_SYNCEDKhông ảnh hưởngTrạng thái

Chứng chỉ cần dùng có thể chưa đến dịch vụ. Hãy đồng bộ ngay rồi đánh giá lại.

DAT_CERT_NOT_YET_VALIDKhông ảnh hưởngTrạng thái

Chưa đến thời điểm bắt đầu của chứng chỉ. Hãy kiểm tra đồng hồ hệ thống và thời điểm phân phối.

DAT_CERT_EXPIREDKhông ảnh hưởngVĩnh viễn

Thời gian có thể xác minh của chứng chỉ đã kết thúc.

DAT_CERT_DUPLICATEMột phầnVĩnh viễn

Cùng một `cid` lặp lại trong một danh sách nhập. Toàn bộ lần nhập bị từ chối.

Chữ ký, mã hóa và khóa

DAT_SIG_MISMATCHKhông ảnh hưởngVĩnh viễnshieldĐáng ngờ

Chữ ký không khớp nội dung. DAT đã bị sửa đổi hoặc được ký bằng khóa khác.

DAT_CRYPTO_TAG_MISMATCHKhông ảnh hưởngVĩnh viễnshieldĐáng ngờ

Thẻ xác thực AES-GCM không khớp. Hãy kiểm tra bản mã bị sửa đổi hoặc chứng chỉ không khớp.

DAT_KEY_INVALIDKhông ảnh hưởngVĩnh viễn

Độ dài, định dạng khóa hoặc tổ hợp thuật toán không hợp lệ.

DAT_SIG_KEY_MISSINGKhông ảnh hưởngVĩnh viễn

Đã cố phát hành DAT bằng chứng chỉ chỉ xác minh. Dịch vụ phát hành cần chứng chỉ đầy đủ.

DAT_SIG_MISMATCHDAT_CRYPTO_TAG_MISMATCH là các lỗi được API sự kiện bảo mật công khai phân loại là sự kiện. Một đầu vào sai đơn lẻ không phải sự cố dịch vụ, nhưng nếu lặp lại thì phải coi là tín hiệu cần theo dõi bảo mật.

Trình quản lý và cấu hình

DAT_MANAGER_NO_CERTIFICATEMột phầnTrạng thái

Trình quản lý không có chứng chỉ. Hãy nhập chứng chỉ hoặc hoàn tất đồng bộ CMS.

DAT_MANAGER_NO_ISSUABLE_CERTIFICATEMột phầnTrạng thái

Có chứng chỉ nhưng hiện không có chứng chỉ đầy đủ nào có thể phát hành. Kiểm tra thời hạn, thời điểm bắt đầu hoặc trạng thái verify-only trong chuỗi nguyên nhân.

DAT_CONFIG_ARGUMENT_INVALIDKhông ảnh hưởngVĩnh viễn

Đối số gọi hoặc giá trị cấu hình nằm ngoài phạm vi cho phép.

DAT_INTERNAL_UNAVAILABLENghiêm trọngVĩnh viễn

Nền tảng hiện tại không có chức năng mã hóa hoặc mạng cần thiết.

Máy khách CMS

Ý nghĩaCách xử lý thông thường
DAT_CMS_URI_INVALIDURI CMS sai định dạngSửa cấu hình
DAT_CMS_UNAUTHORIZEDXác thực thất bạiSửa token
DAT_CMS_FORBIDDENVai trò không có quyềnKiểm tra vai trò token
DAT_CMS_ENDPOINT_NOT_FOUNDKhông có hoặc sai đường dẫnKiểm tra địa chỉ và đường dẫn CMS
DAT_CMS_NETWORKKết nối hoặc truyền dữ liệu thất bạiKiểm tra mạng rồi chờ lùi
DAT_CMS_TIMEOUTQuá thời gian chờĐiều chỉnh mạng và thời gian chờ
DAT_CMS_SERVER_ERRORLỗi máy chủ CMSKiểm tra trạng thái máy chủ rồi chờ lùi
DAT_CMS_RESPONSE_INVALIDPhản hồi thành công sai định dạngKiểm tra hợp đồng máy chủ–máy khách
DAT_CMS_VERSION_RESETPhiên bản máy chủ bị lùiKiểm tra dữ liệu và trạng thái triển khai CMS
DAT_CMS_IMPORT_FAILEDKhông áp dụng được chứng chỉ nhận vềKiểm tra chuỗi nguyên nhân
DAT_CMS_STOPPEDDùng trình quản lý đã dừngTạo trình quản lý mới hoặc sửa thứ tự gọi

Thư viện đồng bộ ban đầu theo kiểu best-effort lưu lỗi vào trường lỗi gần nhất. Nếu cần làm ứng dụng khởi động thất bại, hãy dùng API đồng bộ tức thời trả về hoặc ném lỗi trực tiếp.

Máy chủ CMS

HTTPÝ nghĩa
DAT_AUTH_UNAUTHORIZED401Thiếu token hoặc token không hợp lệ
DAT_AUTH_FORBIDDEN403Vai trò token không khớp quyền yêu cầu
DAT_REQ_ALG_UNSUPPORTED400Tên thuật toán không được hỗ trợ
DAT_REQ_NOT_FOUND404·405Đường dẫn hoặc phương thức không khớp
DAT_REQ_TOO_LARGE413Mã dành trước cho yêu cầu vượt giới hạn nội dung
DAT_STORE_UNAVAILABLE503Kho dữ liệu tạm thời không dùng được
DAT_STORE_UNKNOWN500Lỗi chưa phân loại khi xử lý kho dữ liệu

Máy khách hiện tại không để lộ nguyên mã máy chủ trong JSON không phải 2xx mà chuyển trạng thái HTTP thành mã DAT_CMS_*. Vì vậy mã trong log máy chủ có thể khác mã lỗi máy khách.

Cách kiểm tra theo ngôn ngữ

Môi trườngMã lỗiLoại thử lại
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)

Với lỗi có nguyên nhân bên dưới, hãy kiểm tra chuỗi ngoại lệ hoặc API truy vấn nguyên nhân của từng ngôn ngữ.