THPDFSignatureInfo Kaydı
Yüklenmiş bir PDF imzasını sertifika kimliklerinden bayt aralığı kapsamına ve doğrulama kararına kadar tarif eder
Bildirim
THPDFSignatureInfo= record
FieldName: AnsiString; // signature form field partial name
SubFilter: AnsiString; // /SubFilter of the signature dictionary
SignerName: AnsiString; // İmzalayan sertifikası subject'inin CN'si
SubjectDN: AnsiString; // rendered subject distinguished name
IssuerDN: AnsiString; // rendered issuer distinguished name
SerialNumberHex: AnsiString; // certificate serial number, hex encoded
ValidFrom: TDateTime; // certificate notBefore (0 when absent)
ValidTo: TDateTime; // certificate notAfter (0 when absent)
SigningTime: TDateTime; // signed attribute 1.2.840.113549.1.9.5,
// else the /M entry, else 0
HashAlgorithm: AnsiString; // SHA-1, SHA-2, SHA-3, or SHAKE256
DigestAlgorithmOID: AnsiString;
DigestConsistencyIssue: THPDFCMSDigestConsistencyIssue;
SignaturePolicy: THPDFSignaturePolicyInfo;
Reason: AnsiString; // /Reason from the signature dictionary
Location: AnsiString; // /Location
ContactInfo: AnsiString; // /ContactInfo
ByteRange: array of Int64; // /ByteRange pairs (offset, length, ...)
CoversWholeDocument: boolean; // ByteRange spans the file except /Contents
SignedRevisionLength: Int64; // source prefix covered by this signature
UnsignedTrailingBytes: Int64; // bytes appended after the signed revision
CertificateTimeValidity: THPDFSignatureTimeValidity;
Status: THPDFSignatureVerifyStatus;
PublicKeyAlgorithm: AnsiString; // RSA, ECDSA, EdDSA, or ML-DSA
SignatureAlgorithm: AnsiString; // CMS imza algoritması adı
SignatureAlgorithmOID: AnsiString;
CurveName: AnsiString; // ECDSA curve, such as 'P-256'
Timestamp: THPDFTimestampInfo; // RFC 3161 signature or document timestamp
CMSAttributes: THPDFCMSAttributeSummary;
CertificateValidation: THPDFCertificateValidationInfo;
end;
Birim
HPDFSignVerify
Alanlar
| Alan | Amaç |
|---|---|
FieldName | İmza form alanının kısmi adı |
SubFilter | İmza dictionary'sindeki /SubFilter girdisinin değeri |
SignerName | İmzalayan sertifikası subject'inin CN'si |
SubjectDN | Sertifikanın biçimlenmiş subject distinguished name'i |
IssuerDN | Sertifikanın biçimlenmiş issuer distinguished name'i |
SerialNumberHex | Sertifika seri numarası, onaltılık kodlanmış |
ValidFrom | Sertifika notBefore'u; yoksa 0 |
ValidTo | Sertifika notAfter'ı; yoksa 0 |
SigningTime | İmzalı 1.2.840.113549.1.9.5 attribute'ü; yoksa /M girdisi, o da yoksa 0 |
HashAlgorithm | Digest ailesi adı: SHA-1, SHA-2, SHA-3 veya SHAKE256 |
DigestAlgorithmOID | Digest algoritması nesne tanımlayıcısı |
DigestConsistencyIssue | CMS yapısı içindeki digest algoritmaları arasında saptanan uyuşmazlık |
SignaturePolicy | İmza bir policy taşıdığında imza policy ayrıntıları |
Reason | /Reason girdisinin değeri |
Location | /Location girdisinin değeri |
ContactInfo | /ContactInfo girdisinin değeri |
ByteRange | Kapsanan bayt aralıklarını tarif eden /ByteRange ofset ve uzunluk çiftleri |
CoversWholeDocument | Bayt aralığı, /Contents boşluğu dışında bütün dosyayı kapsadığında True |
SignedRevisionLength | Bu imzanın kapsadığı kaynak önekinin uzunluğu |
UnsignedTrailingBytes | İmzalı revizyondan sonra eklenen baytlar |
CertificateTimeValidity | İmzalama zamanının sertifika geçerlilik penceresi içinde kalıp kalmadığı |
Status | THPDFSignatureVerifyStatus türünden doğrulama kararı |
PublicKeyAlgorithm | Public key ailesi: RSA, ECDSA, EdDSA veya ML-DSA |
SignatureAlgorithm | CMS imza algoritması adı |
SignatureAlgorithmOID | İmza algoritması nesne tanımlayıcısı |
CurveName | ECDSA eğri adı; örneğin P-256 |
Timestamp | RFC 3161 imza veya belge zaman damgası ayrıntıları |
CMSAttributes | İmzalı CMS attribute'lerinin özeti |
CertificateValidation | Sertifika zinciri validation sonucu |
Kullanım notları
GetLoadedSignatureInfotanımlayıcı alanları döndürür;VerifyLoadedSignatureveVerifyLoadedSignatureExdigest'leri denetledikten sonra status ve validation alanlarını doldururCoversWholeDocumentileUnsignedTrailingBytesbirlikte, sonraki revizyonların belgeyi imzaladıktan sonra değiştirip değiştirmediğini gösterir- Aynı kayıt sertifika validation'ını da besler; tek çağrı kimlikleri, kapsamı, algoritmaları ve zincir kontrollerini karşılar