Método THotPDF.GetLoadedSignatureQCStatements
Declaração
function GetLoadedSignatureQCStatements(SigIndex: Integer;
out Info: THPDFQCStatementInfo): boolean;
Comportamento
Avaliação de certificado qualificado eIDAS de uma assinatura carregada: reporta os QCStatements da ETSI EN 319 412-5 do certificado do signatário, incluindo QcCompliance, QcSSCD, os valores QcType, QcLimitValue e as localizações PDS, mais o statement PSD2 da ETSI TS 119 495
statement PSD2
O QCStatement PSD2 (0.4.0.19495.2) carrega um PSD2QcType: os papéis para os quais o provedor de serviços de pagamento está autorizado, o nome da autoridade competente nacional (NCA) e o identificador da NCA. Ele é reportado por meio destes campos de THPDFQCStatementInfo:
HasPSD2Statementétrueapenas quando o certificado carrega um statement PSD2 bem formado; um statement com comprimentos excedentes ou não mínimos, componentes ausentes ou extras, tags erradas, ou nomes que não sejam de 1 a 256 caracteres de UTF-8 válido é ignorado e deixa os campos PSD2 vaziosPSD2RolesOfPSPlista cada papel na ordem do certificado como umTHPDFPSD2RolecomOID(0.4.0.19495.1.1PSP_AS,0.4.0.19495.1.2PSP_PI,0.4.0.19495.1.3PSP_AI,0.4.0.19495.1.4PSP_IC) eName, o nome do papel armazenado no certificado, comoPSP_ASPSD2NCANameePSD2NCAIdguardam o nome e o identificador da NCA, por exemploCZ-CNBPSD2RolesPayerePSD2RolesPayeeestão obsoletos e sempre vazios, porque a ETSI TS 119 495 não define listas de papéis de pagador e recebedor; leiaPSD2RolesOfPSPem vez disso
Para fazer o parse de um PSD2QcType que você já tenha como DER, chame HPDFParsePSD2QcStatement da unidade HPDFSignVerify. Ele preenche um THPDFPSD2QcStatement e retorna false para qualquer entrada malformada
var
Info: THPDFQCStatementInfo;
I: Integer;
begin
if HotPDF1.GetLoadedSignatureQCStatements(0, Info) and Info.HasPSD2Statement then
begin
for I:= 0 to High(Info.PSD2RolesOfPSP) do
Writeln(Info.PSD2RolesOfPSP[I].Name, ' (', Info.PSD2RolesOfPSP[I].OID, ')');
Writeln('NCA: ', Info.PSD2NCAName, ' / ', Info.PSD2NCAId);
end;
end;
Heurística de assinatura qualificada
QualifiedSignatureLikely marca a heurística do Annex IV do eIDAS 910/2014 de QcCompliance mais QcSSCD; um valor false não é prova de assinatura não qualificada, porque a decisão de confiança no serviço QTSP permanece com o chamador. Retorna false quando a assinatura não carrega um certificado utilizável
Veja também