Я использую ITEXT, чтобы подписать документ PDF с внешней подписью, но подпись отмечена как измененная или поврежденная. При открытии в Adobe Acrobat я получаю следующее сообщение: < /p>
The document has been altered or corrupted since the signature was applied.
Signed by the current user
Signing time is based on the local computer clock
Signature details: Last verification: 2025.03.31 15:14:37 +03'00'
Field: Signature_1 (invisible signature)
< /code>
Вот мой код подписи: < /p>
public AttachDocumentSignResponseDto AttachDocumentSign(byte[] documentBytes, byte[] signatureBytes)
{
ArgumentNullException.ThrowIfNull(documentBytes);
ArgumentNullException.ThrowIfNull(signatureBytes);
using var readerStream = new MemoryStream(documentBytes);
using var outputStream = new MemoryStream();
using var pdfReader = new PdfReader(readerStream);
IExternalSignatureContainer external = new MfuaExternalSignatureContainer(signatureBytes);
var fieldName = PdfConstants.SignatureName(documentBytes.SignaturesCount());
PdfSigner.SignDeferred(
pdfReader,
fieldName,
outputStream,
external);
var signedPdfBytes = outputStream.ToArray();
return new AttachDocumentSignResponseDto(Convert.ToBase64String(signedPdfBytes));
}
public sealed class MfuaExternalSignatureContainer : IExternalSignatureContainer
{
private readonly byte[] _signatureBytes;
public MfuaExternalSignatureContainer(byte[] signatureBytes)
{
ArgumentNullException.ThrowIfNull(signatureBytes);
_signatureBytes = signatureBytes;
}
public byte[] Sign(Stream data)
{
return _signatureBytes;
}
public void ModifySigningDictionary(PdfDictionary signDic)
{
signDic.Put(PdfName.Filter, PdfName.Adobe_PPKLite);
signDic.Put(PdfName.SubFilter, PdfName.Adbe_pkcs7_detached);
}
}
Что может привести к изменению PDF после подписания?
Я использую ITEXT, чтобы подписать документ PDF с внешней подписью, но подпись отмечена как измененная или поврежденная. При открытии в Adobe Acrobat я получаю следующее сообщение: < /p> [code]The document has been altered or corrupted since the signature was applied. Signed by the current user Signing time is based on the local computer clock Signature details: Last verification: 2025.03.31 15:14:37 +03'00' Field: Signature_1 (invisible signature) < /code> Вот мой код подписи: < /p> public AttachDocumentSignResponseDto AttachDocumentSign(byte[] documentBytes, byte[] signatureBytes) { ArgumentNullException.ThrowIfNull(documentBytes); ArgumentNullException.ThrowIfNull(signatureBytes);
using var readerStream = new MemoryStream(documentBytes); using var outputStream = new MemoryStream(); using var pdfReader = new PdfReader(readerStream);
IExternalSignatureContainer external = new MfuaExternalSignatureContainer(signatureBytes);
var fieldName = PdfConstants.SignatureName(documentBytes.SignaturesCount());
return new AttachDocumentSignResponseDto(Convert.ToBase64String(signedPdfBytes)); }
public sealed class MfuaExternalSignatureContainer : IExternalSignatureContainer { private readonly byte[] _signatureBytes;
public MfuaExternalSignatureContainer(byte[] signatureBytes) { ArgumentNullException.ThrowIfNull(signatureBytes);
_signatureBytes = signatureBytes; }
public byte[] Sign(Stream data) { return _signatureBytes; }
public void ModifySigningDictionary(PdfDictionary signDic) { signDic.Put(PdfName.Filter, PdfName.Adobe_PPKLite); signDic.Put(PdfName.SubFilter, PdfName.Adbe_pkcs7_detached); } } [/code] Что может привести к изменению PDF после подписания?
Я использую ITEXT, чтобы подписать документ PDF с внешней подписью, но подпись отмечена как измененная или поврежденная. При открытии в Adobe Acrobat я получаю следующее сообщение:
The document has been altered or corrupted since the signature was...
Я использую ITEXT, чтобы подписать документ PDF с внешней подписью, но подпись отмечена как измененная или поврежденная. При открытии в Adobe Acrobat я получаю следующее сообщение:
The document has been altered or corrupted since the signature was...
У меня есть немного запутанного кода для проверки оператора индекса. Но некоторые компиляторы, как, например, MS VS-22 C ++ или GCC 8.3. Ошибка времени выполнения.
#include
У меня есть несколько запутанного кода, специально написанный для тестирования оператора индекса. E2. ). Но некоторые компиляторы, например, MS VS-22 C ++ (с поддержкой последнего стандарта C ++) или GCC 8.3. Ошибка времени выполнения.
#include...
Я хотел бы поставить несколько подписей в документе PDF, как в рабочем процессе. Я использую следующий код для подписи написанного мной PDF-файла, и он работает нормально.