Método THotPDF.GetLoadedSignatureQCStatements
Declaración
function GetLoadedSignatureQCStatements(SigIndex: Integer;
out Info: THPDFQCStatementInfo): boolean;
Comportamiento
Evaluación de certificado cualificado eIDAS de una firma cargada: reporta los QCStatements ETSI EN 319 412-5 del certificado del firmante, incluyendo QcCompliance, QcSSCD, los valores de QcType, QcLimitValue y las ubicaciones PDS, además de la declaración PSD2 de ETSI TS 119 495
Declaración PSD2
La QCStatement PSD2 (0.4.0.19495.2) transporta un PSD2QcType: los roles para los que está autorizado el proveedor de servicios de pago, el nombre de la autoridad nacional competente (NCA) y el identificador de la NCA. Se reporta a través de estos campos de THPDFQCStatementInfo:
HasPSD2Statementestruesolo cuando el certificado trae una declaración PSD2 bien formada; una declaración con longitudes desbordadas o no minimales, componentes faltantes o extra, tags incorrectos o nombres que no sean de 1 a 256 caracteres de UTF-8 válido se ignora y deja los campos PSD2 vacíosPSD2RolesOfPSPlista cada rol en orden del certificado como unTHPDFPSD2RoleconOID(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) yName, el nombre de rol guardado en el certificado, comoPSP_ASPSD2NCANameyPSD2NCAIdcontienen el nombre y el identificador de la NCA, por ejemploCZ-CNBPSD2RolesPayeryPSD2RolesPayeeestán obsoletos y siempre vacíos, porque ETSI TS 119 495 no define listas de roles de pagador y beneficiario; leaPSD2RolesOfPSPen su lugar
Para parsear un PSD2QcType que ya tenga como DER, llame a HPDFParsePSD2QcStatement de la unidad HPDFSignVerify. Rellena un THPDFPSD2QcStatement y devuelve false ante cualquier entrada mal formada
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 firma cualificada
QualifiedSignatureLikely marca la heurística del Anexo IV de eIDAS 910/2014 de QcCompliance más QcSSCD; un valor falso no es prueba de una firma no cualificada, porque la decisión de confianza en el servicio QTSP queda en manos de quien llama. Devuelve false cuando la firma no trae un certificado utilizable
Véase también GetLoadedSignatureInfo, Validación de firmas en lote