Статус: Новичок
Группы: Участники
Зарегистрирован: 27.06.2024(UTC) Сообщений: 4
|
Добрый день у меня возникла проблема при формировании подписи с помощью cades plugin Мне нужно получить подпись формата cades-bes c использованием На веб-клиенте такая реализация подписи Цитата: try { oSigner = yield _this._plugin.CreateObjectAsync("CAdESCOM.CPSigner") } catch (err) { console.log("Ошибка при создании объекта CAdESCOM.CPSigner"); errormes = "Failed to create CAdESCOM.CPSigner: " + err;
reject(_this.handleError(2, errormes, ' #signCMSAsync')) }
try { oSigningTimeAttr = yield _this._plugin.CreateObjectAsync("CADESCOM.CPAttribute") } catch (err) { reject(_this.handleError(2, err, ' #signCMSAsync')) }
yield oSigningTimeAttr.propset_Name(_this._plugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME) const oTimeNow = new Date() yield oSigningTimeAttr.propset_Value(oTimeNow) const attr = yield oSigner.AuthenticatedAttributes2 yield attr.Add(oSigningTimeAttr)
try { oDocumentNameAttr = yield _this._plugin.CreateObjectAsync("CADESCOM.CPAttribute") } catch (err) { reject(_this.handleError(2, err, ' #signCMSAsync')) }
yield oDocumentNameAttr.propset_Name(_this._plugin.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" reject(_this.handleError(2, errormes, ' #signCMSAsync')) }
try { oSignedData = yield _this._plugin.CreateObjectAsync("CAdESCOM.CadesSignedData") } catch (err) { reject(_this.handleError(2, err, ' #signCMSAsync')) }
// Отключаем проверку цепочки сертификатов пользователя // yield oSigner.propset_Options(this.#plugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)
yield oSigner.propset_Options(_this._plugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY) yield oSignedData.propset_ContentEncoding(_this._plugin.CADESCOM_BASE64_TO_BINARY) //
yield oSignedData.propset_Content(dataToSign)
try { Signature = yield oSignedData.SignCades(oSigner, _this._plugin.CADESCOM_CADES_BES, true) } catch (err) { console.log('Ошибка при вызове метода oSignedData.SignCades, объект CAdESCOM.CadesSignedData') errormes = "Ошибка при вызове метода oSignedData.SignCades, объект CAdESCOM.CadesSignedData \n Не удалось создать подпись из-за ошибки: " + JSON.stringify(err); reject(_this.handleError(2, errormes, ' #signCMSAsync')) }
В результате : - На ресурсе https://dss.cryptopro.ru/verify/#/signature подпись идентифицируется как PKSC#7 - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Здравствуйте.
На тестовой странице плагина - какие версии ПО установлены и что выдают ресурсы?
oSignedData.SignCades(oSigner, _this._plugin.CADESCOM_CADES_BES, true) это и есть указание на формирование типа подписи. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Snimok ehkrana ot 2024-06-27 13-18-32.png (39kb) загружен 5 раз(а). Snimok ehkrana ot 2024-06-27 13-19-11.png (32kb) загружен 4 раз(а). |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: vmankov - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись? он формируется автоматически, его можно, конечно, отключать и получать pkcs7, но это потребовало бы знаний про ветку в реестре... |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.06.2024(UTC) Сообщений: 4
|
Да, я понимаю что указал тип подписи cades-bes, но Проблема на проде, по этому на счет версии утверждать не могу, но клиентам передаем инструкции по установке актуальной версии cryptopro csp Отредактировано пользователем 27 июня 2024 г. 12:30:04(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: vmankov Проблема на проде, по этому на счет версии утверждать не могу, но клиентам передаем инструкции по установке актуальной версии cryptopro csp Да, я понимаю что указал тип подписи cades-bes, но В результате проверки подписи : - На ресурсе https://dss.cryptopro.ru/verify/#/signature подпись идентифицируется как PKSC#7 - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись? Так проверяйте, какие версии и что вписано в реестре (Windows?) - параметр AddEsAttribute КриптоПро CSP > Особенности создания подписанных CMS сообщений в "КриптоПро CSP 5.0" |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 27.06.2024(UTC) Сообщений: 4
|
Автор: Андрей * Автор: vmankov - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись? он формируется автоматически, его можно, конечно, отключать и получать pkcs7, но это потребовало бы знаний про ветку в реестре... Получается остается 2 варианта, либо клиент сам отключил добавление атрибута(что сомнительно), либо использует версию cryptoproCsp ниже чем 3.6?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: vmankov Автор: Андрей * Автор: vmankov - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись? он формируется автоматически, его можно, конечно, отключать и получать pkcs7, но это потребовало бы знаний про ветку в реестре... Получается остается 2 варианта, либо клиент сам отключил добавление атрибута(что сомнительно), либо использует версию cryptoproCsp ниже чем 3.6? или используется другое ПО? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
проверялось добавление этого атрибута? attr.Add(oDocumentNameAttr);
он есть в присланном pkcs7 ?
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: Андрей * Автор: vmankov Автор: Андрей * Автор: vmankov - При расшифровке на https://lapo.it/asn1js/ в подписи не хватает подписываемого атрибута ESS-Signing-Certificate-V2 Подскажите пожалуйста как добавить этот атрибут в подпись? он формируется автоматически, его можно, конечно, отключать и получать pkcs7, но это потребовало бы знаний про ветку в реестре... Получается остается 2 варианта, либо клиент сам отключил добавление атрибута(что сомнительно), либо использует версию cryptoproCsp ниже чем 3.6? или используется другое ПО? посмотрите хотя бы... что в сертификате из подписи вписано в свойствах - КриптоПРО CSP? |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close