THotPDF.GetLoadedSignatureQCStatements Method
宣言
function GetLoadedSignatureQCStatements(SigIndex: Integer;
out Info: THPDFQCStatementInfo): boolean;
動作
ロード済み署名 1 件に対する eIDAS の qualified-certificate 評価です。署名者証明書の ETSI EN 319 412-5 QCStatements、つまり QcCompliance、QcSSCD、QcType の各値、QcLimitValue、PDS ロケーションに加え、ETSI TS 119 495 の PSD2 ステートメントを報告します
PSD2 ステートメント
PSD2 QCStatement(0.4.0.19495.2)は PSD2QcType を運びます。決済サービスプロバイダに認められたロール、国内監督当局(NCA)の名前、NCA 識別子です。これらは THPDFQCStatementInfo の次のフィールドで報告されます:
HasPSD2Statementは、証明書が整形式の PSD2 ステートメントを持つときにだけtrueになります。長さが超過していたり最小でなかったりする、コンポーネントの欠落や余分なステートメント、誤ったタグ、有効な UTF-8 で 1〜256 文字でない名前を持つステートメントは無視され、PSD2 フィールドは空のままになりますPSD2RolesOfPSPは、証明書順のすべてのロールをTHPDFPSD2Roleとして列挙します。OID(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)と、証明書に保存されたロール名であるName(たとえばPSP_AS)を持ちますPSD2NCANameとPSD2NCAIdは、NCA の名前と識別子を保持します。たとえばCZ-CNBPSD2RolesPayerとPSD2RolesPayeeは非推奨で常に空です。ETSI TS 119 495 は payer / payee のロールリストを定義していないためです。代わりにPSD2RolesOfPSPを読んでください
すでに DER として手元にある PSD2QcType をパースするには、HPDFSignVerify ユニットの HPDFParsePSD2QcStatement を呼びます。THPDFPSD2QcStatement を埋め、不正な入力に対しては false を返します
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;
認定署名のヒューリスティック
QualifiedSignatureLikely は、eIDAS 910/2014 Annex IV の QcCompliance + QcSSCD ヒューリスティックを示します。QTSP サービスの信頼判断は呼び出し側に委ねられるため、false は非認定署名の証明にはなりません。署名が利用可能な証明書を持たない場合は false を返します