Статус: Участник
Группы: Участники
Зарегистрирован: 02.06.2017(UTC) Сообщений: 28 Откуда: Оренбург Сказал(а) «Спасибо»: 5 раз
|
Я с помощью криптопро и браузер-плагина создаю подпись. Они у меня в Базе данных в разных полях лежат. 1. Возможно встроить подпись в файл, при этом сохранить его читабельность 2. Если да, то как то вашими средствами это возможно реализовать?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Здравствуйте. Только такой вариант: Необходимо проверять ЭП и извлекать подписанные данные из CMS и уже их показывать клиенту. Либо использовать не "присоединенную ЭП" (контейнер, в котором исходные данные, подпись, сертификат и т.п.), а как написано в заголовке темы, для PDF\Microsoft Office http://www.cryptopro.ru/products/dss-lite |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.06.2017(UTC) Сообщений: 28 Откуда: Оренбург Сказал(а) «Спасибо»: 5 раз
|
Автор: Андрей * Здравствуйте. Только такой вариант: Необходимо проверять ЭП и извлекать подписанные данные из CMS и уже их показывать клиенту. Либо использовать не "присоединенную ЭП" (контейнер, в котором исходные данные, подпись, сертификат и т.п.), а как написано в заголовке темы, для PDF\Microsoft Office http://www.cryptopro.ru/products/dss-lite А подпись сформированную через браузер плагин можно проверить в суде? В любой программе проверки подписи. Просто заказчика не устраивает, что подпись и файл не в одном файле
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
http://www.garant.ru/pro.../ipo/prime/doc/71451710/Приказом Председателя Верховного Суда РФ от 29 ноября 2016 года № 46-П утвержден «Порядок подачи в Верховный Суд Российской Федерации документов в электронном виде, в том числе в форме электронного документа». Электронная подпись должна содержаться в отдельном файле (отсоединенная ЭП). При подписании документа несколькими лицами каждая электронная подпись должна содержаться в отдельном файле. |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.06.2017(UTC) Сообщений: 28 Откуда: Оренбург Сказал(а) «Спасибо»: 5 раз
|
Автор: Андрей * http://www.garant.ru/products/ipo/prime/doc/71451710/
Приказом Председателя Верховного Суда РФ от 29 ноября 2016 года № 46-П утвержден «Порядок подачи в Верховный Суд Российской Федерации документов в электронном виде, в том числе в форме электронного документа».
Электронная подпись должна содержаться в отдельном файле (отсоединенная ЭП). При подписании документа несколькими лицами каждая электронная подпись должна содержаться в отдельном файле. Это понял, спасибо. Еще вопрос у вас на сайте написано http://joxi.ru/eAOEPyocyBZGmoт.е. я могу и прикрепленную(если я правильно понял она встроена в файл) и отдельную(а это хеш на основе содержания файла и сертификата) создать подпись. При создании прикрепленной подписи к файлу просто "прицепляется" подпись и файл просто можно открывать только для чтения, так? Отредактировано пользователем 28 июня 2017 г. 13:29:03(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Автор: danolshev Автор: Андрей * http://www.garant.ru/products/ipo/prime/doc/71451710/
Приказом Председателя Верховного Суда РФ от 29 ноября 2016 года № 46-П утвержден «Порядок подачи в Верховный Суд Российской Федерации документов в электронном виде, в том числе в форме электронного документа».
Электронная подпись должна содержаться в отдельном файле (отсоединенная ЭП). При подписании документа несколькими лицами каждая электронная подпись должна содержаться в отдельном файле. Это понял, спасибо. Еще вопрос у вас на сайте написано http://joxi.ru/eAOEPyocyBZGmoт.е. я могу и прикрепленную(если я правильно понял она встроена в файл) и отдельную(а это хеш на основе содержания файла и сертификата) создать подпись. У Заказчика спросите, что он желает в итоге + этот Приказ. Плагин умеет создавать оба варианта. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Автор: danolshev При создании прикрепленной подписи к файлу просто "прицепляется" подпись и файл просто можно открывать только для чтения, так? Зависит от формата файла. Текстовый (txt\xml) - можно увидеть содержимое внутри, но редактировать\пересохранять в текстовом редакторе нельзя. На выходе - CMS - это контейнер с закодированными данными. Вы же Zip-файлы не смотрите в блокноте? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.06.2017(UTC) Сообщений: 28 Откуда: Оренбург Сказал(а) «Спасибо»: 5 раз
|
Автор: Андрей * Плагин умеет создавать оба варианта. Я создаю подпись с помощью SignCadesBES_Async_File(). На выходе получаю подпись. А как мне встроенную подпись получить? Или встроить ее в файл? Код:
cadesplugin.async_spawn(function*(arg) {
var e = document.getElementById(arg[0]);
var selectedCertID = e.selectedIndex;
if (selectedCertID == -1) {
alert("Выберите сертификат");
return false;
}
var thumbprint = e.options[selectedCertID].value.split(" ").reverse().join("").replace(/\s/g, "").toUpperCase();
try {
var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
yield oStore.Open();
} catch (err) {
alert('Failed to create CAdESCOM.Store: ' + err.number);
return false;
}
var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
var all_certs = yield oStore.Certificates;
var oCerts = yield all_certs.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
if ((yield oCerts.Count) == 0) {
alert("Certificate not found");
return false;
}
var certificate = yield oCerts.Item(1);
var SignatureFieldTitle = document.getElementsByName("SignatureTitle");
var Signature;
try
{
var certBoxId = undefined;
FillCertInfo_Async(certificate, certBoxId, fileIdInDb);
var errormes = "";
try {
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
} catch (err) {
errormes = "Failed to create CAdESCOM.CPSigner: " + err.number;
throw errormes;
}
var oSigningTimeAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
var CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
yield oSigningTimeAttr.propset_Name(CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
var oTimeNow = new Date();
yield oSigningTimeAttr.propset_Value(oTimeNow);
var attr = yield oSigner.AuthenticatedAttributes2;
yield attr.Add(oSigningTimeAttr);
var oDocumentNameAttr = yield cadesplugin.CreateObjectAsync("CADESCOM.CPAttribute");
var CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
yield oDocumentNameAttr.propset_Name(CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME);
yield oDocumentNameAttr.propset_Value("Document Name");
yield attr.Add(oDocumentNameAttr);
if (oSigner) {
yield oSigner.propset_Certificate(certificate);
}
else {
errormes = "Failed to create CAdESCOM.CPSigner";
throw errormes;
}
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
var CADES_BES = 1;
var dataToSign = fileContent; // fileContent - объявлен в Code.js
if (dataToSign) {
// Данные на подпись ввели
yield oSignedData.propset_ContentEncoding(1); //CADESCOM_BASE64_TO_BINARY
yield oSignedData.propset_Content(dataToSign);
yield oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN
try {
var StartTime = Date.now();
Signature = yield oSignedData.SignCades(oSigner, CADES_BES);
var EndTime = Date.now();
document.getElementsByName('TimeTitle')[0].innerHTML = "Время выполнения: " + (EndTime - StartTime) + " мс";
}
catch (err) {
errormes = "Не удалось создать подпись из-за ошибки: " + cadesplugin.getLastError(err);
throw errormes;
}
}
// document.getElementById("SignatureTxtBox").innerHTML = Signature;
SignatureFieldTitle[0].innerHTML = "Подпись сформирована
return Signature;
}
catch(err)
{
SignatureFieldTitle[0].innerHTML = "Возникла ошибка:";
document.getElementById("SignatureTxtBox").innerHTML = err;
}
}, certListBoxId); //cadesplugin.async_spawn
}
Отредактировано пользователем 28 июня 2017 г. 13:56:58(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Цитата:oSignedData.SignCades(oSigner, CADES_BES); Интерфейс ICPSignedData2 SignCades Добавляет к сообщению усовершенствованную подпись. Цитата: [Signer As Variant], _ [CadesType As CADESCOM_CADES_TYPE], _ [bDetached As Boolean], _ [EncodingType As CAPICOM_ENCODING_TYPE]
bDetached Вид подписи: отделенная (true) или совмещенная (false). По умолчанию совмещенная. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.06.2017(UTC) Сообщений: 28 Откуда: Оренбург Сказал(а) «Спасибо»: 5 раз
|
Автор: Андрей * Цитата:oSignedData.SignCades(oSigner, CADES_BES); Интерфейс ICPSignedData2 SignCades Добавляет к сообщению усовершенствованную подпись. Цитата: [Signer As Variant], _ [CadesType As CADESCOM_CADES_TYPE], _ [bDetached As Boolean], _ [EncodingType As CAPICOM_ENCODING_TYPE]
bDetached Вид подписи: отделенная (true) или совмещенная (false). По умолчанию совмещенная. CADESCOM_CADES_TYPE вот сюда добавить? Счас у меня получается совмещенная??? Т.е. к файлу добавляется подпись? http://joxi.ru/Q2KgPXoIzB8y2j
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close