Enhanced PDF signing with UUID and metadata handling: - Added `UUID` and `OriginalDocumentSha256` to `PdfSignOptionsDto` and `PdfSignatureCheckItemDto`. - Introduced `BusinessReason` to separate metadata from signature reasons. - Updated `PdfDigitalSignatureService` to embed and parse metadata in signature reasons. - Improved error handling to include metadata in validation results. - Updated `PdfSignatureController` to handle `UUID` in signing requests. Refactored PKCS#11 configuration: - Replaced `LibraryPath` with `AssetsRootPath` for asset resolution. - Added `ProxySocket` and `DefaultApplicationName` options. - Clarified runtime behavior for asset resolution in `README.md`. Updated documentation and examples to reflect these changes.
56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
namespace EnvelopeGenerator.Application.Common.Dto;
|
|
|
|
public sealed record PdfSignaturePrincipalDto(
|
|
string? CommonName,
|
|
string? Organization,
|
|
string? Country,
|
|
string? Full);
|
|
|
|
public sealed record PdfSignatureCertificateInfoDto(
|
|
PdfSignaturePrincipalDto IssuedTo,
|
|
PdfSignaturePrincipalDto IssuedBy,
|
|
string? SerialNumber,
|
|
DateTimeOffset? ValidFrom,
|
|
DateTimeOffset? ValidTo,
|
|
bool SelfSigned,
|
|
bool Expired,
|
|
bool NotYetValid,
|
|
bool IsSigner,
|
|
int? Version,
|
|
string? KeyAlgorithm,
|
|
string? SignatureAlgorithm,
|
|
string? Pem,
|
|
int? KeySizeBits);
|
|
|
|
public sealed record PdfSignatureCheckItemDto(
|
|
bool CoversWholeDoc,
|
|
string? Reason,
|
|
string? BusinessReason,
|
|
string? Location,
|
|
string? DeclaredName,
|
|
string? ContactInfo,
|
|
string? DigestAlgorithm,
|
|
string? SignatureAlgorithm,
|
|
string? SignerName,
|
|
string? Issuer,
|
|
string? SerialNumber,
|
|
DateTimeOffset? ValidFrom,
|
|
DateTimeOffset? ValidTo,
|
|
string ExpiryCheckedAgainst,
|
|
IReadOnlyList<PdfSignatureCertificateInfoDto> Certificates,
|
|
bool Unchanged,
|
|
string? FieldName,
|
|
bool IsCryptographicallyValid,
|
|
string? SigningTime,
|
|
string? Filter,
|
|
string? SubFilter,
|
|
string? ApplicationName,
|
|
string? UUID,
|
|
string? OriginalDocumentSha256,
|
|
string? MessageDigestHex,
|
|
string? Error);
|
|
|
|
public sealed record PdfSignatureCheckResultDto(
|
|
bool Signed,
|
|
IReadOnlyList<PdfSignatureCheckItemDto> Signatures);
|