Статус: Новичок
Группы: Участники
Зарегистрирован: 16.06.2017(UTC) Сообщений: 8 Откуда: Мск Сказал(а) «Спасибо»: 3 раз
|
Автор: kad После обновление плагина до версии 2.0.12888 у кучи пользователей начались ошибки Цитата: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x 80070057)
До обновления всё работало как часы. Код JS не менялся с января 2017. Что такое обновилось в версии 2.0.12888 браузер плагина, что поломало работу подписи? Похоже после обновления JS код начал падать на строчке yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY);
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.12.2016(UTC) Сообщений: 114 Сказал «Спасибо»: 26 раз
|
Автор: kad Автор: kad После обновление плагина до версии 2.0.12888 у кучи пользователей начались ошибки Цитата: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x 80070057)
До обновления всё работало как часы. Код JS не менялся с января 2017. Что такое обновилось в версии 2.0.12888 браузер плагина, что поломало работу подписи? Похоже после обновления JS код начал падать на строчке yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY); попробуй так yield oSignedData.propset_ContentEncoding(1);
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.06.2017(UTC) Сообщений: 8 Откуда: Мск Сказал(а) «Спасибо»: 3 раз
|
Автор: 4eIIIupKo Автор: kad Автор: kad После обновление плагина до версии 2.0.12888 у кучи пользователей начались ошибки Цитата: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x 80070057)
Цитата:До обновления всё работало как часы. Код JS не менялся с января 2017. Что такое обновилось в версии 2.0.12888 браузер плагина, что поломало работу подписи? Похоже после обновления JS код начал падать на строчке yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY); попробуй так yield oSignedData.propset_ContentEncoding(1); Если убрать Код:
yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY)
то пропадает ошибка, но одновременно с этим и валидность подписи, т.е. например https://www.gosuslugi.ru/pgu/eds говорит что подпись не верна если вернуть эту настройку, даже в виде Код:
yield oSignedData.propset_ContentEncoding(1);
то снова появляется ошибка: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x80070057) код js как на демо страничке у крипты Код:
function SignCreate_Async(oCertificate, dataToSign) {
return new Promise(function(resolve, reject){
cadesplugin.async_spawn(function*(arg) {
try {
var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
yield oStore.Open();
} catch (err) {
alert('Failed to create CAdESCOM.Store: ' + err.number);
return;
}
try {
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(oCertificate);
}
else {
errormes = "Failed to create CAdESCOM.CPSigner";
throw errormes;
}
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
var CADES_BES = 1;
//yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(dataToSign);
yield oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN
var sSignedMessage = "";
try {
sSignedMessage = yield oSignedData.SignCades(oSigner, CADES_BES, DetachedSign);
arg[0](sSignedMessage);
}
catch (err) {
errormes = "Failed to run oSignedData.SignCades: " + GetErrorMessage(err);
throw errormes;
}
}
catch(err)
{
alert("Не удалось создать подпись из-за ошибки:" + GetErrorMessage(err));
$("#SignedData").val(err);
arg[1]("Не удалось создать подпись из-за ошибки:" + GetErrorMessage(err));
}
}, resolve, reject);
}); //cadesplugin.async_spawn
}
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.12.2016(UTC) Сообщений: 114 Сказал «Спасибо»: 26 раз
|
Автор: kad Автор: 4eIIIupKo Автор: kad Автор: kad После обновление плагина до версии 2.0.12888 у кучи пользователей начались ошибки Цитата: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x 80070057)
Цитата:До обновления всё работало как часы. Код JS не менялся с января 2017. Что такое обновилось в версии 2.0.12888 браузер плагина, что поломало работу подписи? Похоже после обновления JS код начал падать на строчке yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY); попробуй так yield oSignedData.propset_ContentEncoding(1); Если убрать Код:
yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY)
то пропадает ошибка, но одновременно с этим и валидность подписи, т.е. например https://www.gosuslugi.ru/pgu/eds говорит что подпись не верна если вернуть эту настройку, даже в виде Код:
yield oSignedData.propset_ContentEncoding(1);
то снова появляется ошибка: Не удалось создать подпись из-за ошибки:The parameter is incorrect. (0x80070057) код js как на демо страничке у крипты Код:
function SignCreate_Async(oCertificate, dataToSign) {
return new Promise(function(resolve, reject){
cadesplugin.async_spawn(function*(arg) {
try {
var oStore = yield cadesplugin.CreateObjectAsync("CAdESCOM.Store");
yield oStore.Open();
} catch (err) {
alert('Failed to create CAdESCOM.Store: ' + err.number);
return;
}
try {
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(oCertificate);
}
else {
errormes = "Failed to create CAdESCOM.CPSigner";
throw errormes;
}
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
var CADES_BES = 1;
//yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(dataToSign);
yield oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN
var sSignedMessage = "";
try {
sSignedMessage = yield oSignedData.SignCades(oSigner, CADES_BES, DetachedSign);
arg[0](sSignedMessage);
}
catch (err) {
errormes = "Failed to run oSignedData.SignCades: " + GetErrorMessage(err);
throw errormes;
}
}
catch(err)
{
alert("Не удалось создать подпись из-за ошибки:" + GetErrorMessage(err));
$("#SignedData").val(err);
arg[1]("Не удалось создать подпись из-за ошибки:" + GetErrorMessage(err));
}
}, resolve, reject);
}); //cadesplugin.async_spawn
}
http://cpdn.cryptopro.ru...es/content-encoding.html
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.07.2012(UTC) Сообщений: 267 Откуда: Калининград Сказал «Спасибо»: 51 раз Поблагодарили: 30 раз в 22 постах
|
Автор: 4eIIIupKo Автор: Zloy Strelok Автор: cross Содержит. Я пытаюсь проверить через CPCertificate.IsValid().Result, но при отозванном на ЦС сертификате, все равно выдает true.. Подскажите, пожалуйста, в какую сторону копать? Код:var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
try {
yield oSignedData.propset_ContentEncoding(1);
yield oSignedData.propset_Content(dataToVerify);
yield oSignedData.VerifyCades(sSignedMessage,CADESCOM_CADES_BES,true);
}catch(err){
alert("Failed to verify signature. Error: " + cadesplugin.getLastError(err));
return false;
}
А есть проверить подпись? По сути можно просто получить дату действия сертификата до и сравнивать с текущей датой) //Действителен до var till = Adjust.GetCertDate(yield args[0].ValidToDate); может я неправильно вас понял, но вы предлагаете проверить валидность подписи и не истек ли срок действия сертификата.. А мне нужно проверить не отозван ли сертификат через обращение к списку отзыва сетификатов, размещенному на УЦ, и адрес которого указан в самом сертификате.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close