Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Отправьте полный вызов функции.
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
В цикле, когда я бегу по всем сертификатам из хранилища, пробую делать так (в тестовых целях):
var oStore = ObjCreator("CAPICOM.store"), certCnt = oStore.Certificates.Count; for (var i = 1; i <= certCnt; i++) { var cert = oStore.Certificates.Item(i); alert(cert.Export()); }
В IE работает без дополнительных параметров, а в FF вылетает указанная ошибка.
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
А если речь о подписании, а не о получении сертификата, то проделываю это следующим кодом (минимизирован): function MakeCadesSign(dataToSign) { var thumbprint = getCookie('eds'), // Получаю "отпечаток" раннее выбранного в выпадающем спике сертификата из хранилища oSignedData = ObjCreator("CAdESCOM.CadesSignedData"), oSigner = ObjCreator('CAdESCOM.CPSigner'), CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d, Signature; oSignedData.Content = dataToSign; oSigner.Options = 1; oSigner.Certificate = getCertificateByThumbprint(thumbprint); // Создание подписи в формате cades-bes работает //Signature = oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true, CAPICOM_ENCODE_BASE64); // Так же тестировались первые два варианта //oSigner.TSAAddress = "http://testca.cryptopro.ru/tsp/tsp.srf"; //oSigner.TSAAddress = "http://testca.cryptopro.ru/tsp/"; oSigner.TSAAddress = "http://cryptopro.ru/tsp/"; // Наконец подписание в формате CAdES-X Long Type 1. Не работает :( Signature = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1); return Signature; } Отредактировано пользователем 23 апреля 2015 г. 17:03:07(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Автор: Jacobian  В цикле, когда я бегу по всем сертификатам из хранилища, пробую делать так (в тестовых целях):
var oStore = ObjCreator("CAPICOM.store"), certCnt = oStore.Certificates.Count; for (var i = 1; i <= certCnt; i++) { var cert = oStore.Certificates.Item(i); alert(cert.Export()); }
В IE работает без дополнительных параметров, а в FF вылетает указанная ошибка. В Export() необходим параметр согласно документации.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Автор: Jacobian  А если речь о подписании, а не о получении сертификата, то проделываю это следующим кодом (минимизирован):
function MakeCadesSign(dataToSign) { var thumbprint = getCookie('eds'), // Получаю "отпечаток" раннее выбранного в выпадающем спике сертификата из хранилища oSignedData = ObjCreator("CAdESCOM.CadesSignedData"), oSigner = ObjCreator('CAdESCOM.CPSigner'), CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d, Signature; oSignedData.Content = dataToSign; oSigner.Options = 1; oSigner.Certificate = getCertificateByThumbprint(thumbprint); // Создание подписи в формате cades-bes работает //Signature = oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true, CAPICOM_ENCODE_BASE64); // Так же тестировались первые два варианта //oSigner.TSAAddress = "http://testca.cryptopro.ru/tsp/tsp.srf"; //oSigner.TSAAddress = "http://testca.cryptopro.ru/tsp/"; oSigner.TSAAddress = "http://cryptopro.ru/tsp/"; // Наконец подписание в формате CAdES-X Long Type 1. Не работает :( Signature = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1); return Signature; } Что бы подписание в формате CAdES-X Long Type 1 работало, необходимы ввести клиентские лицензии на OCSP и TSP.
|
 1 пользователь поблагодарил Мясников Роман за этот пост.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
Автор: Мясников Роман  Автор: Jacobian  В цикле, когда я бегу по всем сертификатам из хранилища, пробую делать так (в тестовых целях):
var oStore = ObjCreator("CAPICOM.store"), certCnt = oStore.Certificates.Count; for (var i = 1; i <= certCnt; i++) { var cert = oStore.Certificates.Item(i); alert(cert.Export()); }
В IE работает без дополнительных параметров, а в FF вылетает указанная ошибка. В Export() необходим параметр согласно документации. Буду Вам признателен за ссылку на документацию по этой функции. В разделе "КриптоПро ЭЦП. Руководство разработчика." -> "КриптоПро ЭЦП Browser plug-in" по адресу http://cpdn.cryptopro.ru/ к сожалению не нашел подобной информации. Судя по всему, или не там искал, или не заметил.
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
"Что бы подписание в формате CAdES-X Long Type 1 работало, необходимы ввести клиентские лицензии на OCSP и TSP." - благодарю за совет! После приобретения лицензий обязательно проверю как это работает. Но я правильно понимаю, что под "вводом клиентских лицензий" Вы имеете в виду настройку самих утилит? Благодарю!
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
Ради эксперимента передал в функцию параметр 0 и заработало! Еще раз спасибо! Хотя ссылка на документацию также очень сильно пригодилась бы при решении других задач. И прошу прощения, еще один вопрос по лицензиям. Я правильно понимаю, что лицензии на OCSP и TSP должны стоять на клиентских машинах, а не на сервере? Это Вы имеете в виду, говоря "клиентские лицензии".
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 27.01.2012(UTC) Сообщений: 338
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 41 раз в 41 постах
|
Автор: Jacobian  Я правильно понимаю, что лицензии на OCSP и TSP должны стоять на клиентских машинах, а не на сервере? Это Вы имеете в виду, говоря "клиентские лицензии". Используется согласно лицензии. Если в лицензии будет написано "Лицензия предоставляет права по использованию программного продукта на одном рабочем месте или сервере...", соответственно можно использовать на сервере. Автор: Jacobian  Хотя ссылка на документацию также очень сильно пригодилась бы при решении других задач. http://cpdn.cryptopro.ru...1_1_c_p_certificate.html
|
 1 пользователь поблагодарил Мясников Роман за этот пост.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2015(UTC) Сообщений: 18  Сказал(а) «Спасибо»: 4 раз
|
Благодарю за подробную консультацию!
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close