inspect method
Future<PdfSignatureInspectionReport>
inspect(
- Uint8List pdfBytes, {
- List<
String> ? trustedRootsPem, - TrustedRootsProvider? trustedRootsProvider,
- List<
TrustedRootsProvider> ? trustedRootsProviders, - bool strictRevocation = false,
- bool fetchCrls = false,
- bool fetchOcsp = false,
- PdfRevocationDataProvider? revocationDataProvider,
- PdfHttpFetcherBase? certificateFetcher,
- bool includeCertificates = true,
- bool includeSignatureFields = true,
Implementation
Future<PdfSignatureInspectionReport> inspect(
Uint8List pdfBytes, {
List<String>? trustedRootsPem,
TrustedRootsProvider? trustedRootsProvider,
List<TrustedRootsProvider>? trustedRootsProviders,
bool strictRevocation = false,
bool fetchCrls = false,
bool fetchOcsp = false,
PdfRevocationDataProvider? revocationDataProvider,
PdfHttpFetcherBase? certificateFetcher,
bool includeCertificates = true,
bool includeSignatureFields = true,
}) async {
final report = await PdfSignatureValidator().validateAllSignatures(
pdfBytes,
trustedRootsPem: trustedRootsPem,
trustedRootsProvider: trustedRootsProvider,
trustedRootsProviders: trustedRootsProviders,
strictRevocation: strictRevocation,
fetchCrls: fetchCrls,
fetchOcsp: fetchOcsp,
revocationDataProvider: revocationDataProvider,
certificateFetcher: certificateFetcher,
includeCertificates: includeCertificates,
includeSignatureFields: includeSignatureFields,
);
final summaries = report.signatures.map((sig) {
final fieldName = sig.signatureField?.fieldName ?? 'Signature';
final signer = _buildSignerInfo(sig.signerCertificate);
final policyPresent = sig.signaturePolicyOid != null;
final rawSigningTime = sig.signatureField?.signingTimeRaw;
final signingTime = policyPresent && rawSigningTime != null
? parsePdfDateLocal(rawSigningTime)
: sig.signingTime ?? parsePdfDateLocal(rawSigningTime);
return PdfSignatureSummary(
signatureIndex: sig.signatureIndex,
fieldName: fieldName,
signer: signer,
signingTime: signingTime,
policyPresent: policyPresent,
policyDigestOk: null,
cmsSignatureValid: sig.cmsValid,
byteRangeDigestOk: sig.digestValid,
documentIntact: sig.intact,
chainTrusted: sig.chainTrusted,
docMdp: sig.docMdp,
);
}).toList(growable: false);
return PdfSignatureInspectionReport(signatures: summaries);
}