HPDFEvaluateCMSSignerQCStatements Function
Čte statements kvalifikovaného certifikátu eIDAS a statement PSD2 certifikátu podepisujícího v datech CMS podpisu
Deklarace
function HPDFEvaluateCMSSignerQCStatements(const CMSDER: TBytes;
out Info: THPDFQCStatementDescriptor; out CertCount: Integer): boolean;
Jednotka
HPDFSignVerify
Parametry
| Parametr | Účel |
|---|---|
CMSDER | CMS SignedData v kódování DER, například /Contents podpisu PDF |
Info | Přijímá statements ETSI EN 319 412-5 (QcCompliance, QcSSCD, QcType, QcLimitValue, QcPDS) a statement ETSI TS 119 495 PSD2 certifikátu podepisujícího |
CertCount | Přijímá počet certifikátů vložených do dat CMS; 0, když data nelze parsovat |
Návratová hodnota
false, když data CMS nelze parsovat nebo neobsahují čitelný certifikát, a Info je pak prázdné. Certifikát bez statements QC stále vrací true, přičemž Info.HasQCStatements zůstává false
Certifikát podepisujícího
Vyhodnocuje se certifikát, který identifikuje SignerInfo; když žádný neodpovídá, použije se první vložený certifikát — právě tam umisťují tvůrci CMS podepisujícího
Příklad
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;
Poznámky k použití
- Funkce pouze prozkoumá obsah certifikátu; neověřuje podpis, řetězec certifikátů ani stav vydavatele v seznamech důvěry
- Pro podpis v načteném dokumentu vrátí
THotPDF.GetLoadedSignatureQCStatementstytéž statements bez předchozího extrahování dat CMS