Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

7 Страницы«<4567>
Опции
К последнему сообщению К первому непрочитанному
Offline Shuraken  
#51 Оставлено : 7 декабря 2021 г. 8:28:25(UTC)
Shuraken

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.05.2018(UTC)
Сообщений: 38
Российская Федерация

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 2 раз в 2 постах
Автор: city-med.info Перейти к цитате
еще одна проблема. Хочу использовать свой стиль оформления, беру пример из документации

Код:
    jso.CPSign(GetCertificateHEX(MyCert.Thumbprint, Cert),      // certificateHEX
               '',                                              // pin
               1,                                               // pdfLockMode
               'Причина: тест',                                 // signReason
               'Местоположение: тестовое',                      // signLocation
               'контакт',                                       // signContactInfo
               'http://qs.cryptopro.ru/tsp/tsp.srf',            // timeStamp
               false,                                           // bShowCertificatesDialog
               false,                                           // bShowSignDialogs
               '{"pageNumber": 0, '
              +' "coords": [400, 110, 600, 10], '     // лев верх прав низ
              +' "customAppearance": '
                    +'{"font": "Arial", '
                    +' "borderStyle": border.b, '
                    +' "borderColor": color.black, '
                    +' "borderWidth": 2, '
                    +' "textFields": [{"text": "ДОКУМЕНТ ПОДПИСАН", "coords": [10, 100, 100, 10]}'
                           +']}}');


и в таком виде не принимает, говорит "Неправильно задан параметр отбражения подписи."
именно "отбражения" )))

что я пропустил, по-вашему? отчего скрипт не принимает такой json-объект?


В textFields пропущена ещё одна закрывающая квадратная скобка.

Offline city-med.info  
#52 Оставлено : 7 декабря 2021 г. 9:05:11(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Автор: Shuraken Перейти к цитате
В textFields пропущена ещё одна закрывающая квадратная скобка.



ну нет же, посмотри самую последнюю строку, она начинается с квадратной скобки, завершающей массив textFields
Offline city-med.info  
#53 Оставлено : 7 декабря 2021 г. 9:24:51(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
победил с это с Божьей помощью, ниже рабочий вариант видимой подписи с использованием customAppearance

Код:
    jso.CPSign(GetCertificateHEX(MyCert.Thumbprint, Cert),      // certificateHEX
               '',                                              // pin
               1,                                               // pdfLockMode
               'Причина: тест',                                 // signReason
               'Местоположение: тестовое',                      // signLocation
               'контакт',                                       // signContactInfo
               'http://qs.cryptopro.ru/tsp/tsp.srf',            // timeStamp
               false,                                           // bShowCertificatesDialog
               false,                                           // bShowSignDialogs
               '{"pageNumber": 0, '
              +'"coords": [400, 110, 600, 10], '     // лев верх прав низ
              +'"customAppearance": '
                    +'{"font": "Arial", '
                    +'"borderStyle": "beveled", '          // solid dashed beveled inset underline
                    +'"borderColor": ["RGB", 0, 0, 255], '
                    +'"borderWidth": 2, '
                    +'"textFields": [{"text": "ДОКУМЕНТ ПОДПИСАН", "coords": [10, 100, 100, 10]}]}}');


ответ был найден в JavaScript for Acrobat API Reference
на кой хрен было придумывать вот это вот, непонятно:
border.s - сплошная граница;
border.b - сплошная граница со скошенными краями,
border.d - пунктирная граница,
border.i - сплошная граница со скошенными внутрь краями;
border.u - граница с подчеркиванием по нижнему краю поля подписи.

на данный момент открыт вопрос, как сделать видимый вариант подписи в соотв с законом 63ФЗ
там красивая рамочка с круглыми углами, тэгами border такое сделать не получается.
thanks 1 пользователь поблагодарил city-med.info за этот пост.
Shuraken оставлено 07.12.2021(UTC)
Offline city-med.info  
#54 Оставлено : 8 декабря 2021 г. 2:14:35(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Автор: Андрей * Перейти к цитате

Про GetCertificateHEX - почему там пробелы выдаются?



доброго времени суток!
с сертификатами и передачей параметров разобрались, остался вопрос по оформлению в соответствии с 63ФЗ
если делать подпись средствами акробата и КриптоПРО ПДФ, то там просто соответствующая галочка ставится.

в функции CPSign возможности такой галочки не описано, стало быть надо руками делать.
вопрос, как?
и еще вопрос сразу задам, возможно ли появление такой галочки в будущих версиях скрипта CPSign ?
Offline city-med.info  
#55 Оставлено : 20 декабря 2021 г. 9:41:59(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
эгегей, есть кто живой?)
ответьте уже что-нибудь про 63ФЗ
Offline city-med.info  
#56 Оставлено : 25 декабря 2021 г. 11:29:36(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
молчат, как рыба об лёд)))

ладно, пока сам расскажу как выяснить размер страницы документа, чтобы верно выставить координаты.
Как-то так вышло что вроде у А4 документов чуть-чуть да различаются размеры. У акробата это называется User Space

Получить можно так:

Код:
var 
.....
  gApp: CAcroApp;
  PDDoc: CAcroPDDoc;
  AVDoc: CAcroAVDoc;
  PdfPage, PageSize, jso: Variant;
  vert, hor: integer;
.....
begin
.............
  gApp := CoAcroApp.Create;
  AVDoc := CoAcroAVDoc.Create;
  if AVDoc.Open(FName1, FName2)=false then Exit;
  PDDoc := AVDoc.GetPDDoc as CAcroPDDoc;

  PdfPage:= PDDoc.AcquirePage(PDDoc.GetNumPages-1);  // последняя страница
  PageSize:= PdfPage.GetSize;
  vert:=PageSize.y;
  hor:=PageSize.x;

Offline city-med.info  
#57 Оставлено : 26 декабря 2021 г. 4:11:22(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
еще вопрос возник:
подписанный ПДФ с изначальным размером 504кб имеет размер 994кб после подписания с помощью скрипта CPSign
но если его же открыть акробатом, и подписать с помощью встроенного инструмента Сертификаты (плагином КриптоПро), то размер 630кб

отчего так?
Offline Андрей *  
#58 Оставлено : 26 декабря 2021 г. 10:22:00(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,281
Мужчина
Российская Федерация

Сказал «Спасибо»: 548 раз
Поблагодарили: 2196 раз в 1714 постах
Автор: city-med.info Перейти к цитате
еще вопрос возник:
подписанный ПДФ с изначальным размером 504кб имеет размер 994кб после подписания с помощью скрипта CPSign
но если его же открыть акробатом, и подписать с помощью встроенного инструмента Сертификаты (плагином КриптоПро), то размер 630кб

отчего так?


Резервируется байтовый диапазон для подписи с запасом
+ сверить исходную версию PDF и подписанную.
Техническую поддержку оказываем тут
Наша база знаний
Offline city-med.info  
#59 Оставлено : 7 января 2022 г. 3:21:27(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Автор: Андрей * Перейти к цитате
сверить исходную версию PDF и подписанную.


так одинаковые же они визуально
Offline city-med.info  
#60 Оставлено : 7 января 2022 г. 3:25:05(UTC)
city-med.info

Статус: Участник

Группы: Участники
Зарегистрирован: 25.03.2019(UTC)
Сообщений: 27
Российская Федерация
Откуда: Хабаровск

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
еще возникла проблема с определением запароленности контейнеров КриптоПРО
можно конечно для всех подряд сертификатов спрашивать пин-коды, но хотелось бы спрашивать только при необходимости

вопрос: как определить, установлен ли пин-код на контейнере средствами CryptoAPI?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
7 Страницы«<4567>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.