TPDFlibSignatureVerifier

Bảo mật và Chữ ký

Mô tả

Liệt kê các trường chữ ký PDF và các trình ký CMS, xác thực một chữ ký đã chọn mà không cần nạp toàn bộ PDF vào bộ nhớ, và báo cáo phạm vi bao phủ chính xác của bản sửa đổi đã ký tách biệt với tính toàn vẹn mã hóa

Bộ xác thực chấp nhận một tệp, một luồng do bên gọi sở hữu, hoặc một chuỗi byte ANSI thông qua OpenPDF, OpenPDFStream, hoặc OpenPDFString

Lựa chọn

Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);

VerifySignatureByIndex chọn trường PDF theo chỉ số dựa trên không, trong khi VerifySignatureByName sử dụng tên trường AcroForm đủ điều kiện và cả hai phương thức đều chấp nhận một chỉ số trình ký CMS dựa trên không

Báo cáo xác thực

IntegrityResultKết quả toàn vẹn CMS mật mã hoặc PKCS#7 kiểu cũ cho trình ký đã chọn
CoverageStatusscInvalid, scSignedRevision, hoặc scWholeDocument
ByteRangeValidTrue chỉ khi tất cả các phạm vi đều có giới hạn, khoảng trống Contents là chính xác và bản sửa đổi đã ký kết thúc tại %%EOF của chính nó
ContentsGapValidTrue chỉ khi các byte bị bỏ qua chính xác là token thập lục phân /Contents đã chọn
HasLaterRevisionsTrue khi chữ ký đã chọn hợp lệ cho một bản sửa đổi gia tăng sớm hơn nhưng có các byte sau đó tồn tại
SignedRevisionLengthĐộ dài tính bằng byte của bản sửa đổi được xác thực bởi chữ ký đã chọn
DocumentLengthĐộ dài byte PDF hiện tại
NativeErrorMã lỗi Windows CryptoAPI khi xác thực tính toàn vẹn thất bại

Các phương thức tương thích

VerifySignature, GetSignatureMetadata, GetSignerCertificate, và VerifySignerCertificateChain vẫn sẵn có và chọn trường 0 cùng trình ký 0

Sử dụng GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex, hoặc VerifySignerCertificateChainByName để lựa chọn tường minh