Статус: Новичок
Группы: Участники
Зарегистрирован: 10.01.2015(UTC) Сообщений: 4 Откуда: Барнаул
Сказал(а) «Спасибо»: 1 раз
|
С помощью КриптоПро ЭЦП Browser plug-in подписываю рисунок. Делаю это так: Предварительно средствами php получаю base64 рисунка и передаю base64 в плагин, получаю ответ, провожу верификацию, отправляю полученные данные снова на сервер и сохраняю их в файл с расширением .sig Пытаюсь проверить криптоармом, получаю вот эту ошибку http://www.screencapture.ru/file/171c001B Вот код: Код:
var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
var CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;
var CADESCOM_CADES_BES = 0x01;
var CAPICOM_ENCODE_BASE64 = 0;
var CADESCOM_CADES_DEFAULT = 0;
var CAPICOM_OID_KEY_ATTRIBUTES_EXTENSION = 2;
var CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;
var CADESCOM_BASE64_TO_BINARY = 0x01;
var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5D;
var CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;
var CADESCOM_BASE64_TO_BINARY1 = 1;
var CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;
var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, certSelecteed);//certSelecteed - выбранный сертификат
if (oCerts.Count == 0) {
alert("Certificate not found");
return;
}
var oCert = oCerts.Item(1);
oSigner.Certificate = oCert;
if (txtDataToSign.length > 0) { //txtDataToSign - base64 данные, полученные средствами php (base64_encode())
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = txtDataToSign;
try {
var sSignedData = oSignedData.SignCades(oSigner,CADESCOM_CADES_BES, false,CAPICOM_ENCODE_BASE64);
}
catch (e) {
alert("Не удалось подписать из-за ошибки: " + GetErrorMessage(e));
return;
}
} else {
alert("Set data to Sign");
}
try {
oSignedData.VerifyCades(sSignedData, CADESCOM_CADES_BES, false);
} catch (err) {
alert("Failed to verify signature. Error: " + GetErrorMessage(err));
return false;
}
//Далее отправляю sSignedData на сервер
Уже не знаю куда копать...
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
|
1 пользователь поблагодарил Новожилова Елена за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.01.2015(UTC) Сообщений: 4 Откуда: Барнаул
Сказал(а) «Спасибо»: 1 раз
|
попытался сделать как отделённую, та же ошибка.((( У меня было подозрение на ошибку в данных в base64, которые я получал с php, и передавал в oSignedData.Content. Но проверил certutil'ом, всё идентично.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.01.2015(UTC) Сообщений: 4 Откуда: Барнаул
Сказал(а) «Спасибо»: 1 раз
|
Попробовал простой текстовый файл подписать. всё получилось. Буду решать вопрос с рисунком.)))
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.01.2015(UTC) Сообщений: 4 Откуда: Барнаул
Сказал(а) «Спасибо»: 1 раз
|
Проблему решил. Всё по невнимательности. Сервер заменил "+" на пробел.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close