Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро PDF
»
Подписать pdf-ку УКЭП (CAdES-X type1) с визуализацией деталей подписи внутри документа
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
Добрый день! Подскажите, пож-та, как можно с помощью ваших продуктов подписывать pdf-ки юридически значимыми УКЭП (+TSP, CAdES-X type1), но: - здорово, если можно это делать через API, а не через интерактивное взаимодействие с Acrobat'ом; - рамка на последнем листе с деталями УКЭП (кто, когда, отпечаток, штамп времени и тд); - потребитель наших pdf-ок не должен устанавливать какой-либо софт, чтобы убедиться в наличии УКЭП, верификация ЭП отдельная история; - здорово, если еще будет отсоединенная подпись (прим: ну вдруг так можно).
Смотрю на "КриптоПро PDF", но не понимаю, как добавляется визуализированная рамка с деталями подписи и при этом хэш файла не "уплывает".
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 05.04.2017(UTC) Сообщений: 363 Сказал «Спасибо»: 3 раз Поблагодарили: 54 раз в 53 постах
|
Добрый день! Уточните пожалуйста, где будут храниться ключи пользователей, на сервере или на собственном устройстве?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
Автор: Михаил Селезнёв Добрый день! Уточните пожалуйста, где будут храниться ключи пользователей, на сервере или на собственном устройстве? На физическом токене (применяем rutoken) ответственного руководителя.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 08.11.2013(UTC) Сообщений: 56 Сказал(а) «Спасибо»: 1 раз Поблагодарили: 7 раз в 6 постах
|
Добрый день, - для проверки подписи в Acrobat/Reader, также как и для создания, понадобится установка КриптоПро CSP, КриптоПро PDF, но при этом лицензия на продукты не требуется - непосредственно через Акробат можно сделать штамп только с фиксированными полями. При интеграции ( см. раздел 2.3-3 можно добавить поля) - отсоединенную подпись сделать нельзя.
|
1 пользователь поблагодарил TatyanaMal за этот пост.
|
spock оставлено 26.05.2020(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
А есть примеры кода подписания pdf-файлов УКЭП с помощью OLE/COM?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 05.04.2017(UTC) Сообщений: 363 Сказал «Спасибо»: 3 раз Поблагодарили: 54 раз в 53 постах
|
Добрый день! Вот здесь описан подход по обращению к Acrobat через OLE из своего приложения и вызову методов javascript.
|
1 пользователь поблагодарил Михаил Селезнёв за этот пост.
|
spock оставлено 29.05.2020(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
Тестирую usecase'ы по использованию cppdfutil.exe - Не получается подписать pdf'ку, чтобы был штамп времени от TSA УЦ Вводные: - cppdfutil.exe ver2.0.1180.0; - Adobe Acrobat 9 Pro; - CryptoPro CSP ver4.0.9842 (unlim); - CryptoPro TSP Client 2.0 (unlim); - CryptoPro OCSP Client 2.0 (unlim); - КриптоПро PDF ver2.0.1180 (26.07.2020); - Win10 Ent2016 LTSB, x86-64 (корп.сборка); - ЭП тестовая команда: cppdfutil.exe sign \ --in-dir="D:\SIGN\IN" \ --out-dir="D:\SIGN\OUT" \ --report-dir="D:\SIGN\OUT" \ --certificate="D:\SIGN\MyCert.cer" \ --cades \ --cades-format=xlt1 \ --url=http://testgost2012.cryptopro.ru/tsp2012g/tsp.srf \ --certify \ --perm=no \ --overwrite-files Получаю такую невидимую присоединенную ЭП: ds_test_pic1.png (15kb) загружен 28 раз(а).Почему берется время локального компьютера, а не указанного в параметре TSA?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 05.04.2017(UTC) Сообщений: 363 Сказал «Спасибо»: 3 раз Поблагодарили: 54 раз в 53 постах
|
Не туда смотрите. Необходимо зайти в Параметры подписи и нажать "Показать штамп времени". Для этого нужно щелкнуть на саму подпись. Отредактировано пользователем 2 июня 2020 г. 11:44:50(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил Михаил Селезнёв за этот пост.
|
spock оставлено 03.06.2020(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
Другой usecase - создание визуализированной УКЭП через OLE/COM - Ловлю ошибку "Не открыт PDF файл." Результат вызова метода - "Документ не подписан: " (прим: если судить по js-скрипту, то код дошел до подписания и выброшено какое-то unk-исключение) Вводные: - cppdfutil.exe ver2.0.1180.0; - Adobe Acrobat 9 Pro; - CryptoPro CSP ver4.0.9842 (unlim); - CryptoPro TSP Client 2.0 (unlim); - CryptoPro OCSP Client 2.0 (unlim); - КриптоПро PDF ver2.0.1180 (26.07.2020); - Win10 Ent2016 LTSB, x86-64 (корп.сборка); - ЭП тестовая vbs-скрипт
Код:
Dim oPDFDoc, gApp, jso
Dim GetNumPagesInPDF
Dim MyCert
Set gApp = CreateObject("AcroExch.App")
gApp.CloseAllDocs()
gApp.Show()
Set oPDFDoc = CreateObject("AcroExch.PDDoc")
If oPDFDoc.Open( "D:\Development\test.pdf" ) Then
GetNumPagesInPDF = oPDFDoc.GetNumPages()
Set jso = oPDFDoc.GetJSObject()
MyCert = "2D2D2D<тут длинная строка>"
MsgBox "Sign result: " & jso.CPSign(MyCert, "", 1, "Причина", "Местоположение", "Контакт", "http://testgost2012.cryptopro.ru/tsp2012g/tsp.srf", true, true,, 93)
MsgBox "Number of pages: " & GetNumPagesInPDF
oPDFDoc.Close()
End If
gApp.Exit()
Set jso = Nothing
Set oPDFDoc = Nothing
Set gApp = Nothing
Отредактировано пользователем 3 июня 2020 г. 11:38:25(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.04.2020(UTC) Сообщений: 7 Откуда: Москва Сказал(а) «Спасибо»: 4 раз
|
Думаю локализовал проблему - если открыть Adobe Acrobat и обязательно открыть в нем любую pdf-ку, то удается подписать файл (форматом "CADES-X Long Type 1"). Если Adobe Acrobat не открыт, или открыто только приложение без pdf-ки, то подписание завершается ошибкой. Я что-то делаю в скрипте неверно? Код:
Dim oPDFDoc, gApp, jso
Dim GetNumPagesInPDF
Dim MyCert
Set gApp = CreateObject("AcroExch.App")
gApp.CloseAllDocs()
Set oPDFDoc = CreateObject("AcroExch.PDDoc")
If oPDFDoc.Open( "D:\Development\_SIGN\IN\test.pdf" ) Then
GetNumPagesInPDF = oPDFDoc.GetNumPages()
Set jso = oPDFDoc.GetJSObject()
MyCert = "308205<здесь длинная строка>"
MsgBox "Sign result: " & jso.CPSign(MyCert, "", 2, "Причина", "Местоположение", "Контакт", "http://testgost2012.cryptopro.ru/tsp2012g/tsp.srf", False, False, 0, 93)
MsgBox "Number of pages: " & GetNumPagesInPDF
Set jso = Nothing
oPDFDoc.Close()
End If
Set oPDFDoc = Nothing
gApp.Exit()
Set gApp = Nothing
Отредактировано пользователем 4 июня 2020 г. 12:47:43(UTC)
| Причина: Не указана
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро PDF
»
Подписать pdf-ку УКЭП (CAdES-X type1) с визуализацией деталей подписи внутри документа
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close