Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline VoimiX  
#1 Оставлено : 22 ноября 2012 г. 14:59:22(UTC)
VoimiX

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.12.2011(UTC)
Сообщений: 78

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 5 раз в 2 постах
Создаю усовершенствованную ЭЦП на клиенте с помощью плагина следующим образом
Код:

var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
    var oCerts;
    try {
        oCerts = oStore .Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
    } catch(e) {
        oStore.Close();

        alert("Некорректный отпечаток '" + thumbprint + "'");
        return false;
    }


    if (oCerts.Count == 0) {
        oStore.Close();
        alert("Сертификат с отпечатком '"+ thumbprint +"' не найден");
        return false;
    }
    var oCert = oCerts.Item(1);
    try {
        var oSigner = ObjCreator("CAdESCOM.CPSigner");        
    } catch (err) {
        alert('Failed to create CAdESCOM.CPSigner: ' + err.number);
        return false;
    }
    if (oSigner) {
        oSigner.Certificate = oCert;
        oSigner.TSAAddress = 'http://cryptopro.ru/tsp/';
    }
    else {
        alert("Failed to create CPSigner");
        return false;
    }

    var oSignedData = ObjCreator("CAdESCOM.CadesSignedData");
    
    oSignedData.Content = dataToSign;
              
    oSigner.Options = 1; //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN
    try {
        
        var signedData = oSignedData.SignCades(oSigner, CADES_BES);

        $('#hdFileBase64').val(signedData);
        
        alert('Данные успешно подписаны на клиентской стороне');

        oStore.Close();

        return true;
    }
    catch (e) {

        oStore.Close();
       
        alert("Не удалось создать подпись из-за ошибки: " + GetErrorMessage(e));

        return false;
    }


Всё проходит успешно.

Проверку я осуществляю на сервере asp.net (код C#)
Ссылки на библиотеки CAdesCom и CapiCom добавил

Код:

CadesSignedData signedData = new CadesSignedData();

signedData.VerifyCades(base64Value, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1);

И получаю ошибку
Ошибка при проверке усовершенствованной ЭЦП - 'Криптографическое сообщение не содержит всех запрошенных атрибутов'

При том, что проверка подписи на клиенте проходит успешно. Но мне нужно проверять на сервере :(

Т.е. подпись верна и создана верно. Проблема видимо в том как проверяю на сервере. Мне кажется, что я что-то не указал при проверке в коде C#

Плагин ставил совсем недавно. Версия КриптоПро 3.6.6497

Заранее благодарю за помощь.
Offline Андрей Писарев  
#2 Оставлено : 22 ноября 2012 г. 15:22:32(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,340
Мужчина
Российская Федерация

Сказал «Спасибо»: 550 раз
Поблагодарили: 2212 раз в 1727 постах
VoimiX написал:
Проблема видимо в том как проверяю на сервере. Мне кажется, что я что-то не указал при проверке в коде C#


При создании подписи указано:
VoimiX написал:

oSignedData.SignCades(oSigner, CADES_BES);


а при проверке указано:
VoimiX написал:

signedData.VerifyCades(base64Value, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1);

Отредактировано пользователем 22 ноября 2012 г. 15:25:53(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline VoimiX  
#3 Оставлено : 22 ноября 2012 г. 15:47:52(UTC)
VoimiX

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.12.2011(UTC)
Сообщений: 78

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 5 раз в 2 постах
Да, проблема была именно в этом. Спасибо.

Тема закрыта.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.