HPDFEvaluateCMSSignerQCStatements Function
Membaca statement qualified-certificate eIDAS dan pernyataan PSD2 milik certificate penanda tangan dalam data signature CMS
Deklarasi
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Unit
HPDFSignVerify
Parameter
| Parameter | Tujuan |
|---|---|
CMSDER | CMS SignedData berenkode DER, misalnya /Contents dari sebuah signature PDF |
Info | Menerima statement ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) dan pernyataan PSD2 ETSI TS 119 495 milik certificate penanda tangan |
CertCount | Menerima jumlah sertifikat yang tersemat dalam data CMS; 0 ketika data tidak dapat di-parse |
Nilai kembali
false ketika data CMS tidak dapat di-parse atau tidak memuat sertifikat yang dapat dibaca, dan Info saat itu kosong. Sertifikat tanpa QC statement tetap mengembalikan true, dengan Info.HasQCStatements tetap false
Sertifikat penanda tangan
Sertifikat yang dievaluasi adalah sertifikat yang diidentifikasi oleh SignerInfo; ketika tidak ada yang cocok, sertifikat tersemat pertama dipakai, karena di sanalah pembangun CMS menempatkan penanda tangan
Contoh
var
Info: THPDFQCStatementDescriptor;
CertCount: Integer;
begin
if HPDFEvaluateCMSSignerQCStatements(CMSDER, Info, CertCount) then
begin
if Info.QCCompliant and Info.QCSSCD then
Writeln('Qualified certificate on a qualified device');
if Info.HasPSD2Statement then
Writeln('PSD2 NCA: ', Info.PSD2NCAName, ' / ', Info.PSD2NCAId);
end;
end;
Catatan penggunaan
- Fungsi ini hanya memeriksa isi sertifikat; fungsi ini tidak memverifikasi signature, rantai sertifikat, maupun status trusted-list penerbit
- Untuk signature dalam dokumen yang dimuat,
THotPDF.GetLoadedSignatureQCStatementsmengembalikan statement yang sama tanpa perlu mengekstrak data CMS lebih dulu