Kiểm tra chữ ký số file PDF online
Kiểm tra mọi chữ ký số trong file PDF: toàn vẹn, sửa sau khi ký, người ký (MST, CCCD), thời điểm ký, dấu thời gian và chuỗi tới Root CA quốc gia.
Kết quả
Bấm “Chạy” để xem kết quả.
Tải lên file PDF đã ký số (hợp đồng, hoá đơn điện tử, công văn, báo cáo), API liệt kê mọi chữ ký và dấu thời gian tài liệu trong file. Với từng chữ ký, API kiểm tra tính toàn vẹn của phần nội dung được ký (giá trị băm của /ByteRange), chữ ký CMS / PKCS#7 với chứng thư người ký, và file có bị thêm dữ liệu sau khi ký không (modified_after_signing: phiên bản sau là bình thường khi có chữ ký thứ hai hoặc dữ liệu LTV, nhưng nên xem lại). document_unchanged_since_last_signature cho biết chữ ký cuối có bao trùm toàn bộ file hay không.
Chứng thư người ký được giải mã: tên, tổ chức, mã số thuế (MST) hoặc số CCCD / CMND trong thông tin chủ thể, CA cấp, số sê-ri, thời hạn và còn hiệu lực tại thời điểm ký không. Thời điểm ký lấy từ dấu thời gian RFC 3161 nếu có (kiểm tra cả giá trị băm và chữ ký của dấu thời gian), nếu không thì từ thuộc tính đã ký hoặc thời gian ghi trong PDF. Chuỗi chứng thư được dựng từ các chứng thư trong chữ ký cùng chứng thư Root CA và CA công cộng do Trung tâm Chứng thực điện tử quốc gia (NEAC, rootca.gov.vn) công bố: VNPT-CA, Viettel-CA, BkavCA, FPT-CA, MISA-CA và mọi CA công cộng được cấp phép, cùng CA chuyên dùng Chính phủ (Ban Cơ yếu Chính phủ); từng mắt xích được xác minh bằng mật mã, trusted_root là true khi chuỗi kết thúc ở một trong các Root CA này.
API không kiểm tra thu hồi (không gọi OCSP / CRL): địa chỉ CRL và OCSP của chứng thư được trả về để bạn tự kiểm tra khi cần. Kết quả là kiểm tra kỹ thuật, không thay cho thẩm định pháp lý văn bản. Hỗ trợ adbe.pkcs7.detached, ETSI.CAdES.detached, adbe.pkcs7.sha1 và dấu thời gian tài liệu ETSI.RFC3161; khoá RSA và ECDSA.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/pdf-sign-verify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "0=@./my-file"const form = new FormData();
form.append('0', fileInput.files[0]);
const res = await fetch('https://apibox.io.vn/v1/pdf-sign-verify', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
body: form,
});
console.log(await res.json());import requests
res = requests.post(
"https://apibox.io.vn/v1/pdf-sign-verify",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"0": open("my-file", "rb")},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/pdf-sign-verify');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
CURLOPT_POSTFIELDS => ['0' => new CURLFile('my-file')],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Có kiểm tra chứng thư bị thu hồi không?
Không. Địa chỉ CRL / OCSP của chứng thư được trả về trong revocation_urls để bạn tự kiểm tra nếu quy trình yêu cầu; kết quả ghi rõ revocation_checked: false.
Những CA nào được tin cậy?
Các Root CA do NEAC công bố trên rootca.gov.vn (Root CA quốc gia, G3 và các Root CA năm 2025) cùng mọi CA công cộng được cấp phép, và CA chuyên dùng Chính phủ (Ban Cơ yếu Chính phủ). Danh sách được cập nhật hằng tuần.
File PDF có bị lưu lại không?
Không. File chỉ được xử lý trong bộ nhớ cho lần gọi đó và không được lưu.