Я пытаюсь сгенерировать байтовый массив .p7s из пустого поля подписи PDF, после того как пользователь подписал, я хочу встроить байтовый массив .p7s в PDF для интеграции подписи.
Таким образом, процесс будет выглядеть следующим образом:
- Подготовить оригинальный PDF
- Подготовить пустой заполнитель для подписи
- Сохранить в байтовом массиве .p7s без места держатель
- Подписавшийся подписывает, используя .p7s, и указывает причину и местоположение
- Вставьте его в PDF.
Личные ключи всех пользователей хранятся локально, и я ожидаю, что добавлю этот процесс в наш API подписи (разрабатываемый внутри) и ожидаю возврата полной CMS, которая будет встроена в PDF.
Я пытался вызвать PdfSigner.SignDeffered, но он не может заполнить причину и местоположение, если невозможно указать причину и местоположение, тогда я бы изменил процесс на:
- Подготовьте оригинальный PDF.
- отправить запрос на подпись подписавшему (конечно, подписавшему необходимо пройти некоторые процессы авторизации.)
- ключ подписавшего в их причине и местонахождении.
- Подготовьте пустой заполнитель для подписи и укажите его причину и местонахождение.
- Сохранить заполнитель в байтовый массив .p7s
- Вставить его в PDF.
Я подготовил PDF без какой-либо сигнатуры и рассчитал га sh, следуя примеру кода из DifferedSigning.cs
PdfSignatureAppearance appearance = signer.GetSignatureAppearance();
appearance
.SetPageRect(new Rectangle(_signing_coord_x, __signing_coord_y, 200, 100))
.SetPageNumber(_signing_page)
.SetCertificate(chain[0]);
signer.SetFieldName(fieldname);
IExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.Adobe_PPKLite,
PdfName.Adbe_pkcs7_detached);
signer.SignExternalContainer(external, 8192);
С помощью приведенного выше кода я смог сгенерировать новый PDF-файл с пустым контейнером для подписи. Мне нужно сгенерировать байтовый массив .p7s и встроить его в PDF-файл.
Я не нашел функцию или метод для получения байтового массива .p7s и встраивания его в PDF здесь.
как создать байтовый массив .p7s и внедрить его для интеграции подписи? Или я неправильно понял?
Пожалуйста, помогите
Спасибо pxtx