Цифровая подпись отчётов в PDF-формате
-
- Сообщения: 52
- Зарегистрирован: 28 июн 2006, 05:34
- Откуда: Ekaterinburg, Russia
Цифровая подпись отчётов в PDF-формате
Добрый день, подскажите, пожалуйста, имеется ли в планах на будущее в генераторе отчётов добавить возможность цифровой подписи документов, экспортированных, в частности, в PDF? Если да, то в какие ориентировочно сроки? Если нет, подскажите, пожалуйста, в какой части или частях исходных кодов следует искать код для доработки, отвечающий за настройку параметров экспорта в PDF?
Спасибо!
Спасибо!
Цифровая подпись отчётов в PDF-формате
Подскажите пожалуйста, что вы подразумеваете под цифровой подписью, в каком виде ее реализовать, где можно посмотреть работающий пример, тот который нужен вам?
Спасибо.
Спасибо.
-
- Сообщения: 52
- Зарегистрирован: 28 июн 2006, 05:34
- Откуда: Ekaterinburg, Russia
Цифровая подпись отчётов в PDF-формате
Добрый день, к сожалению, работающего примера в том виде, в каком нам бы хотелось, пока что не существует. Желаемый результат - автоматическая ЭЦП генерируемых PDF-отчётов с помощью сертификатов ГОСТ (в частности, поддержку сертификатов ГОСТ осуществляет криптопровайдер КриптоПро www.cryptopro.ru).Pavel писал(а):где можно посмотреть работающий пример
К примеру
Код: Выделить всё
StiReport.ResponseAsPdf(..., bool generateSignature, certificate signaturePrivateKey);
Спасибо!
Цифровая подпись отчётов в PDF-формате
К сожалению, я не могу дать Вам сейчас ответ да или нет. Наши специалисты сейчас занимаются изучением этого вопроса и имеющейся информации по этому вопросу. Пришлите пожалуйста запрос на support, чтобы мы могли известить Вас о результатах наших поисков.
Спасибо.
Спасибо.
Цифровая подпись отчётов в PDF-формате
Вроде бы со стандартным adobe криптопровайдором все получилось. Я думаю скорей всего ответ будет положительный.
Цифровая подпись отчётов в PDF-формате
Здравствуйте!
Мы реализовали поддержку цифровой подписи для экспорта в pdf. Проверьте пожалуйста следующий пререлиз билд.
Спасибо.
Мы реализовали поддержку цифровой подписи для экспорта в pdf. Проверьте пожалуйста следующий пререлиз билд.
Спасибо.
-
- Сообщения: 3
- Зарегистрирован: 04 авг 2016, 14:46
Re: Цифровая подпись отчётов в PDF-формате
Добрый день!
Прочитала в статье https://www.stimulsoft.com/ru/news/stim ... 2-released, что в версии 2014.2 появилась возможность добавить электронную подпись при экспорте отчетов в PDF.
Подскажите пожалуйста, как настроить генерацию подписи в Стимулсофте, не могу найти в интерфейсе упоминаний о CryptoPro в версиях 2016.2, 2016.3.
И возможно ли настроить ЭЦП для справочника подписантов? То есть в документ будет передаваться некий ключ подписанта (гуид, комбинация цифр, код) - и в зависимости от неё генерироваться своя ЭЦП для этого подписанта. Что для этого нужно сделать, как это настроить, помогите пожалуйста.
Прочитала в статье https://www.stimulsoft.com/ru/news/stim ... 2-released, что в версии 2014.2 появилась возможность добавить электронную подпись при экспорте отчетов в PDF.
Подскажите пожалуйста, как настроить генерацию подписи в Стимулсофте, не могу найти в интерфейсе упоминаний о CryptoPro в версиях 2016.2, 2016.3.
И возможно ли настроить ЭЦП для справочника подписантов? То есть в документ будет передаваться некий ключ подписанта (гуид, комбинация цифр, код) - и в зависимости от неё генерироваться своя ЭЦП для этого подписанта. Что для этого нужно сделать, как это настроить, помогите пожалуйста.
Re: Цифровая подпись отчётов в PDF-формате
Здравствуйте.
В версии 2014.2 появилась поддержка российского национального стандарта формирования и проверки электронной цифровой подписи ГОСТ Р 34.10-2012, который поддерживается с помощью СКЗИ (средства криптографической защиты информации) "КриптоПро CSP".
В зависимости от стандарта используются разные алгоритмы хэширования и разные ключи шифрования.
Ключи хранятся в сертификатах, по свойствам сертификата можно определить, для какого алгоритма предназначен этот сертификат.
В нашем продукте алгоритм для КриптоПро выбирается автоматически, если для подписи используется соответствующий сертификат.
Выбор сертификата происходит при экспорте документа в формат pdf. Есть три варианта:
1. Сертификат хранится в хранилище сертификатов Windows. Выбор нужного производится пользователем с помощью системного меню выбора сертификата, которое отображается во время экспорта документа.
2. Сертификат хранится в хранилище сертификатов Windows. В настройках экспорта указывается SubjectName, по которому производится поиск сертификата из хранилища.
3. Сертификат передаётся прямо в настройках экспорта в виде массива байтов.
Программно можно реализовать второй и третий варианты. Но при этом экспорт должен быть не из вьювера отчетов, а из вашего кода.
Спасибо.
Возможность добавить стандартную ЭЦП появилась в версии 2008.1.annasuper25 писал(а):Прочитала в статье https://www.stimulsoft.com/ru/news/stim ... 2-released, что в версии 2014.2 появилась возможность добавить электронную подпись при экспорте отчетов в PDF.
В версии 2014.2 появилась поддержка российского национального стандарта формирования и проверки электронной цифровой подписи ГОСТ Р 34.10-2012, который поддерживается с помощью СКЗИ (средства криптографической защиты информации) "КриптоПро CSP".
По своей сути ЭЦП - это хэш документа, который зашифрован с помощью специального ключа и записан в этот же документ.annasuper25 писал(а):Подскажите пожалуйста, как настроить генерацию подписи в Стимулсофте, не могу найти в интерфейсе упоминаний о CryptoPro в версиях 2016.2, 2016.3.
В зависимости от стандарта используются разные алгоритмы хэширования и разные ключи шифрования.
Ключи хранятся в сертификатах, по свойствам сертификата можно определить, для какого алгоритма предназначен этот сертификат.
В нашем продукте алгоритм для КриптоПро выбирается автоматически, если для подписи используется соответствующий сертификат.
Если мы правильно поняли вашу задачу, то у вас для каждого клиента есть соответствующий сертификат, который вы хотите использовать при подписи документов для этого клиента.annasuper25 писал(а):И возможно ли настроить ЭЦП для справочника подписантов? То есть в документ будет передаваться некий ключ подписанта (гуид, комбинация цифр, код) - и в зависимости от неё генерироваться своя ЭЦП для этого подписанта. Что для этого нужно сделать, как это настроить, помогите пожалуйста.
Выбор сертификата происходит при экспорте документа в формат pdf. Есть три варианта:
1. Сертификат хранится в хранилище сертификатов Windows. Выбор нужного производится пользователем с помощью системного меню выбора сертификата, которое отображается во время экспорта документа.
2. Сертификат хранится в хранилище сертификатов Windows. В настройках экспорта указывается SubjectName, по которому производится поиск сертификата из хранилища.
3. Сертификат передаётся прямо в настройках экспорта в виде массива байтов.
Программно можно реализовать второй и третий варианты. Но при этом экспорт должен быть не из вьювера отчетов, а из вашего кода.
Спасибо.
-
- Сообщения: 3
- Зарегистрирован: 04 авг 2016, 14:46
Re: Цифровая подпись отчётов в PDF-формате
Да, верно, задача именно такова.Если мы правильно поняли вашу задачу, то у вас для каждого клиента есть соответствующий сертификат, который вы хотите использовать при подписи документов для этого клиента.
Выбор сертификата происходит при экспорте документа в формат pdf. Есть три варианта:
1. Сертификат хранится в хранилище сертификатов Windows. Выбор нужного производится пользователем с помощью системного меню выбора сертификата, которое отображается во время экспорта документа.
2. Сертификат хранится в хранилище сертификатов Windows. В настройках экспорта указывается SubjectName, по которому производится поиск сертификата из хранилища.
3. Сертификат передаётся прямо в настройках экспорта в виде массива байтов.
Программно можно реализовать второй и третий варианты. Но при этом экспорт должен быть не из вьювера отчетов, а из вашего кода.
Но совершенно непонятно, как реализовать хоть один из вариантов.
1) Что за системное меню выбора сертификата? Где оно находится, где отображается во время экспорта документа? И что подразумевается под "экспортом" документа? Построение, рендер, печать?
2) Где располагаются настройки экспорта и настройка SubjectName? В самом интерфейсе Стимулсофт или же вы имеете в виду наш внешний код, вызывающий рендер отчета? Если можно, приведите пример кода или скриншот интерфейса, где настраивается эта настройка.
3) Тоже вопрос - Где располагаются настройки экспорта? И о каком коде здесь идет речь? Вкладка "Код" в Stimulsoft Designer или же внешний код, вызывающий на рендер ПФ?
Буду очень признательна за ответы и за примеры. Спасибо!
Re: Цифровая подпись отчётов в PDF-формате
Здравствуйте.
В данном контексте - сохранение готового отчета в файл PDF.
Далее, надо определиться, как вы будете экспортировать файлы: вручную из вьювера (каждый файл отдельно) или из кода своего приложения (пакетная обработка).
Также, как у вас хранятся сертификаты пользователей: в хранилище Windows или в виде отдельных файлов ?
Если в виде файлов, то экспорт надо делать только из кода вашего приложения.
При экспорте из вьювера появляется окошко настроек экспорта. Снизу располагается кнопка "Digital Signature" (ЭЦП), при нажатии которой появляется маленькое всплывающее меню с тремя опциями.
Первая галочка включает цифровую подпись файла.
Вторая галочка определяет, как будет выбираться сертификат для подписи.
Если галочка установлена - то в процессе экспорта файла отобразится системное меню (Crypto UI), в котором можно выбрать сертификат из хранилища сертификатов Windows.
Если галочка снята - то активируется третье поле, где надо ввести SubjectName - это или имя сертификата, или имя пользователя из сертификата (атрибут CN), по этому имени будет производиться поиск сертификата в хранилище Windows.
На прилагаемом скриншоте справа изображено системное окошко выбора сертификата на Windows 10. Для других версий windows оно отличается. При экспорте отчета из кода вашего приложения сначала надо построить отчет:
Затем экспортируем отчет. Сертификат тоже можно выбрать вручную:
Хотя обычно при экспорте из кода это делают "тихо", т.е. выбирают сертификат по имени:
Если сертификаты хранятся в отдельных файлах, то сразу передаём нужный сертификат в настройках экспорта:
Спасибо.
Экспорт - это сохранение построенного (отрендеренного) документа в файл другого программного продукта - Word, Excel, AdobeAcrobat и т.п.Что подразумевается под "экспортом" документа? Построение, рендер, печать?
В данном контексте - сохранение готового отчета в файл PDF.
Далее, надо определиться, как вы будете экспортировать файлы: вручную из вьювера (каждый файл отдельно) или из кода своего приложения (пакетная обработка).
Также, как у вас хранятся сертификаты пользователей: в хранилище Windows или в виде отдельных файлов ?
Если в виде файлов, то экспорт надо делать только из кода вашего приложения.
При экспорте из вьювера появляется окошко настроек экспорта. Снизу располагается кнопка "Digital Signature" (ЭЦП), при нажатии которой появляется маленькое всплывающее меню с тремя опциями.
Первая галочка включает цифровую подпись файла.
Вторая галочка определяет, как будет выбираться сертификат для подписи.
Если галочка установлена - то в процессе экспорта файла отобразится системное меню (Crypto UI), в котором можно выбрать сертификат из хранилища сертификатов Windows.
Если галочка снята - то активируется третье поле, где надо ввести SubjectName - это или имя сертификата, или имя пользователя из сертификата (атрибут CN), по этому имени будет производиться поиск сертификата в хранилище Windows.
На прилагаемом скриншоте справа изображено системное окошко выбора сертификата на Windows 10. Для других версий windows оно отличается. При экспорте отчета из кода вашего приложения сначала надо построить отчет:
Код: Выделить всё
StiReport report = new StiReport();
report.Load("test.mrt");
report.Render();
Код: Выделить всё
StiPdfExportSettings pdfSettings = new StiPdfExportSettings();
pdfSettings.UseDigitalSignature = true;
pdfSettings.GetCertificateFromCryptoUI = true;
report.ExportDocument(StiExportFormat.Pdf, "test.pdf", pdfSettings);
Код: Выделить всё
StiPdfExportSettings pdfSettings = new StiPdfExportSettings();
pdfSettings.UseDigitalSignature = true;
pdfSettings.GetCertificateFromCryptoUI = false;
pdfSettings.SubjectNameString = "your_subjectName";
report.ExportDocument(StiExportFormat.Pdf, "test.pdf", pdfSettings);
Код: Выделить всё
StiPdfExportSettings pdfSettings = new StiPdfExportSettings();
pdfSettings.UseDigitalSignature = true;
pdfSettings.CertificateData = File.ReadAllBytes("certificate.pfx");
pdfSettings.CertificatePassword = "your_password";
report.ExportDocument(StiExportFormat.Pdf, "test.pdf", pdfSettings);