ApplyPAdESLongTermValidation

디지털 서명

설명

이미 서명된 PDF를 한 번의 호출로 PAdES-B-LT로 승격하고 결과를 파일에 씁니다

구문

Delphi

Function TPDFlib.ApplyPAdESLongTermValidation(Const InputFile, Password, OutputFile, FieldName: WideString; Options: Integer): Integer;

매개변수

InputFile서명된 PDF
Password열기 위한 암호이며 필요 없으면 빈 문자열
OutputFile기록할 증강 PDF
FieldName처리할 서명 필드이며 빈 문자열이면 모든 서명을 하나의 리비전으로 처리합니다
OptionsPADES_LTV_* 비트 마스크이며, 0은 PADES_LTV_DEFAULT를 선택합니다

옵션

PADES_LTV_WRITE_VRI (1)각 서명에 대해 VRI 항목을 기록합니다
PADES_LTV_FETCH_OCSP (2)각 링크의 OCSP 응답자에게 요청합니다
PADES_LTV_FETCH_CRL (4)OCSP가 아무 결과도 반환하지 않으면 CRL로 대체합니다
PADES_LTV_FOLLOW_AIA (8)발급자 주소를 따라 경로를 완성합니다
PADES_LTV_SKIP_EXISTING (16)바이트가 이미 준비된 자료를 다시 추가하지 마십시오
PADES_LTV_SKIP_ROOT_REVOCATION (32)자체 발급 루트의 상태는 요청하지 않습니다
PADES_LTV_DEFAULT (63)위의 모든 항목이며 Options가 0일 때 선택됨

반환 값

1승격에 성공했습니다
2입력 파일을 읽을 수 없습니다
3입력 PDF를 구문 분석할 수 없음
10출력을 쓸 수 없습니다
11문서 보안 저장소를 추가할 수 없습니다
20해당 서명 필드가 없습니다
21처리된 서명 중 읽을 수 있는 인증서를 포함한 서명이 없습니다

1 이외의 값에 대한 원인은 GetPAdESLTVError에 들어 있습니다

비고

서명자 인증서 경로는 서명 자체의 CMS에서 생성되며 PADES_LTV_FOLLOW_AIA가 설정된 경우 나머지 발급자는 인증서가 지정한 caIssuers 주소를 따라갑니다. 각 링크의 해지 정보를 OCSP 우선, 다음 CRL 순서로 수집하고 인증서와 함께 단일 증분 업데이트로 문서 보안 저장소에 기록합니다

이미 준비된 항목과 동일한 자료는 한 번만 기록되고 이를 필요로 하는 모든 서명에서 참조하므로 경로나 서명 간에 공유되는 인증 기관이 두 번 나타나지 않습니다. VRI 항목은 가리킬 인증서가 있을 때만 기록되므로 빈 항목은 생성되지 않습니다

응답자에 연결할 수 없어도 호출은 실패하지 않습니다. 수집된 항목만으로 승격을 진행하며 GetPAdESLTVCertificateCount, GetPAdESLTVCRLCount, GetPAdESLTVOCSPCount 및 GetPAdESLTVError에서 수집된 항목과 누락 사유를 보고합니다

예제

PDF.SetTimeStampOptions(2, 1, 1, 15000, '');
if PDF.ApplyPAdESLongTermValidation('signed.pdf', '', 'signed-lt.pdf', '', 0)<> 1 then
  ShowMessage(PDF.GetPAdESLTVError);

참고 항목

ApplyPAdESLongTermValidationToStream, GetSignatureCertificateChainLength, AddPAdESDSSOCSPFromCertificates