Статус: Участник
Группы: Участники
Зарегистрирован: 07.04.2022(UTC) Сообщений: 15 Сказал «Спасибо»: 6 раз
|
Здравствуйте, коллеги! Используя КриптоПро ЭЦП Browser plug-in требуется из Javascript отправить на бэкенд следующие данные: - ЭЦП которую я создал ЭЦП на основе имеющихся данных. - Сертификат: Simple (not CMS Signed Data) ГОСТ signature; ЭЦП я создаю в примере ниже, а как достать Сертификат не понимаю. Прошу кинуть в меня ссылками или примерами! Заранее благодарю! Код:
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");
yield oSigningTimeAttr.propset_Name(cadesplugin.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");
yield oDocumentNameAttr.propset_Name(cadesplugin.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");
if (dataToSign) {
yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); //
yield oSignedData.propset_Content(dataToSign);
}
yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN);
if (typeof (setDisplayData) != 'undefined') {
yield oSignedData.propset_DisplayData(1);
}
try {
Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, false); // включает документ
//Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, true);//не включает
}
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Цитата:- Сертификат: Simple (not CMS Signed Data) ГОСТ signature; Здравствуйте! Решение передавать подпись (особенно "not CMS Signed Data") выглядит очень странно. Какую задачу вы решаете?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2044 раз в 1585 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 07.04.2022(UTC) Сообщений: 15 Сказал «Спасибо»: 6 раз
|
Автор: Новожилова Елена Цитата:- Сертификат: Simple (not CMS Signed Data) ГОСТ signature; Здравствуйте! Решение передавать подпись (особенно "not CMS Signed Data") выглядит очень странно. Какую задачу вы решаете? Елена, решается задача передачи шифрованных данных клиента в ФСС.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 07.04.2022(UTC) Сообщений: 15 Сказал «Спасибо»: 6 раз
|
Извините, некорректно написал вопрос. Нужен Сертификат, с помощью которого я делаю ЭЦП. Цитата:в указанном коде: certificate видите для Signer передаётся? Смотрели в документацию, описание... ? Видел, смотрел. Вы можете дать пример как я могу на JavaScript получить сертификат? через объект certificate, через объект oSigner?: Цитата:Methods Export если реально идёт речь, про "передать сертификат". Где описан метод Export? В документации его нет. Не понимаю как ваши ссылки на VBScript относится к JavaScript?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,691 Сказал «Спасибо»: 500 раз Поблагодарили: 2044 раз в 1585 постах
|
Автор: SBA007 Где описан метод Export? В документации его нет. Не понимаю как ваши ссылки на VBScript относится к JavaScript? потому что документацию необходимо полностью читать или следовать по ссылкам. интерфейс общий, как у MS с некоторыми отличиями (указывается если есть такие). var CertBase64 = yield certificate.Export(0); |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 07.04.2022(UTC) Сообщений: 15 Сказал «Спасибо»: 6 раз
|
Автор: Андрей * var CertBase64 = yield certificate.Export(0);
Благодарю вас, получилось то что нужно. Отредактировано пользователем 28 апреля 2022 г. 15:15:09(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close