Tính nhất quán thuật toán digest CMS

HotPDF chẩn đoán các định danh thuật toán CMS không nhất quán trước khi đọc phạm vi tài liệu đã ký, hash nội dung, dựng đường dẫn chứng chỉ, hoặc gọi provider chữ ký

Các kiểm tra nhất quán

SignerInfo.digestAlgorithm hiện tại phải có mặt trong tập SignedData.digestAlgorithms bao ngoài, trong khi các thuật toán phụ không liên quan vẫn được phép cho container multi-signer có khả năng tương tác

Các OID chữ ký RSA PKCS#1 v1.5 và ECDSA theo digest, cùng hash tường minh trong tham số RSA-PSS, phải chọn cùng digest với SignerInfo.digestAlgorithm

Khi thuộc tính ký CMSAlgorithmProtection theo RFC 6211 xuất hiện, nó phải xuất hiện đúng một lần với một giá trị, và các giá trị AlgorithmIdentifier của digest và chữ ký được bảo vệ phải khớp với các trường SignerInfo thực tế

Tham số vắng mặt và tham số DER NULL được coi là tương đương với các định danh thuật toán không tham số; các tham số khác so khớp chính xác để các cơ chế chữ ký có tham số không thể bị chuẩn hóa ngầm

Kết quả máy đọc được

HPDFParseCMSSignature giữ lại metadata đã phân tích thành công nhưng đặt THPDFSignatureInfo.Status thành svDigestAlgorithmMismatch khi một kiểm tra nhất quán thất bại

Xác minh trả về svDigestAlgorithmMismatch, các báo cáo validation dùng vfcDigestAlgorithmMismatch, và JSON phát ra digestAlgorithmMismatch mà không gộp điều kiện này thành CMS sai định dạng, thuật toán không hỗ trợ, hoặc không khớp digest nội dung

THPDFSignatureInfo.DigestAlgorithmOID ghi lại OID digest của signer và THPDFSignatureInfo.DigestConsistencyIssue chọn một trong các nguyên nhân sau

Các object signer trong JSON phơi bày cùng thông tin qua digestAlgorithmOID và digestConsistencyIssue với các giá trị signerDigestNotDeclared, signatureDigestMismatch, algorithmProtectionDigestMismatch, hoặc algorithmProtectionSignatureMismatch

Timestamp và thứ tự ưu tiên

Timestamp tài liệu RFC 3161 và token signature-timestamp không ký dùng cùng các kiểm tra, và giá trị THPDFTimestampInfo.DigestConsistencyIssue của chúng xác định một container CMS lồng ghép không nhất quán

Lỗi cấu trúc vẫn thất bại như CMS sai định dạng, digest signer không xác định vẫn không được hỗ trợ, và vấn đề nhất quán xác định đầu tiên được giữ theo thứ tự container, algorithm-protection, rồi signature-mechanism

Xem các provider chữ ký hiện đại và THotPDF.VerifyLoadedSignatureWithOptions để biết các hợp đồng provider và xác minh tài liệu đã nạp