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

Уведомление

Icon
Error

46 Страницы«<3031323334>»
Опции
К последнему сообщению К первому непрочитанному
Offline shalun18  
#311 Оставлено : 21 февраля 2013 г. 15:08:58(UTC)
shalun18

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
Добрый день!

Возникли трудности с использованием добавленных возможностей в новой версии дистрибутива КриптоПро ЭЦП Browser plug-in для Windows - версия 1.05.1229.
Пробовал использовать метод SignHash объекта CAdESCOM.RawSignature. При выполнении метода возникает ошибка: "Keyset does not exist (0x80090016)".

Закрытые ключи сертификатов лежат не в реестре, а на носителе rutoken/etoken.

Не могли бы подсказать причину возникновения и решение данной ошибки, пожалуйста.

(При создании CMS-подписи, при помощи метода SignCades объекта CAdESCOM.CadesSignedData, с использованием того же сертификата, операция выполнялась успешно, ошибок не возникало)

Отредактировано пользователем 21 февраля 2013 г. 15:42:41(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#312 Оставлено : 22 февраля 2013 г. 12:49:43(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Здравствуйте!

А каким образом вы инициализируете сертификат? Достаете из хранилища?
Offline shalun18  
#313 Оставлено : 22 февраля 2013 г. 13:07:32(UTC)
shalun18

Статус: Новичок

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

Сказал(а) «Спасибо»: 1 раз
Здравствуйте!

При помощи свойства Certificates объекта CAPICOM.store, как в примерах. Вот код:
var thumbprint = getValue('certificateList');

thumbprint = thumbprint.split(" ").reverse().join("").replace(/\s/g, "").toUpperCase();

try {
var oStore = Form.ObjCreator("CAPICOM.store");
oStore.Open();
} catch (err) {}


var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
var oCert = oCerts.Item(1);
Offline Новожилова Елена  
#314 Оставлено : 22 февраля 2013 г. 16:05:40(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Сертификат установлен в хранилище со ссылкой на закрытый ключ? И на этой же машине с этим же сертификатом создание подписи при помощи метода SignCades работает?
Offline dmishin  
#315 Оставлено : 9 марта 2013 г. 14:38:27(UTC)
dmishin

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 6 раз в 6 постах
Не подскажете, какая может быть причина ошибки, возвращаемую плагином во время подписывания:
Unknown error code (0x80880902)

Получили заявку от пользователя. Повторить пока не получилось, поэтому кроме кода ошибки дополнительной информации нет.
Online Андрей Писарев  
#316 Оставлено : 9 марта 2013 г. 16:17:38(UTC)
Андрей *

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

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

Сказал «Спасибо»: 524 раз
Поблагодарили: 2143 раз в 1671 постах
Автор: dmishin Перейти к цитате
Не подскажете, какая может быть причина ошибки, возвращаемую плагином во время подписывания:
Unknown error code (0x80880902)

Получили заявку от пользователя. Повторить пока не получилось, поэтому кроме кода ошибки дополнительной информации нет.


Возможно поможет...
Поиск по коду ошибки "0x80880902" выдает:
Цитата:

CAPICOM_E_CANCELLED
0x80880902
The operation has been canceled by the user.
This happens when the user is prompted for permission to carry out certain operation, such as accessing the private
key, and the user cancels the operation.


http://msdn.microsoft.co...p/aa375685(v=vs.85).aspx


Техническую поддержку оказываем тут
Наша база знаний
Offline dmishin  
#317 Оставлено : 10 марта 2013 г. 8:48:25(UTC)
dmishin

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 6 раз в 6 постах
В описании ошибки от пользователя не упоминалось о том, что он отменял действие. Если это единственная возможная причина, то будем уточнять...

Отредактировано пользователем 10 марта 2013 г. 8:49:05(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#318 Оставлено : 11 марта 2013 г. 12:20:26(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Автор: dmishin Перейти к цитате
Не подскажете, какая может быть причина ошибки, возвращаемую плагином во время подписывания:
Unknown error code (0x80880902)

Получили заявку от пользователя. Повторить пока не получилось, поэтому кроме кода ошибки дополнительной информации нет.


Скорее всего криптопровайдер выдал окно с поиском ключевого носителя, где пользователь нажал кнопку "Отмена".
Поскольку другой информации об ошибке нет, то сложно сказать точно, чем она была вызвана.
Offline dmishin  
#319 Оставлено : 12 марта 2013 г. 16:03:55(UTC)
dmishin

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 6 раз в 6 постах
Автор: Новожилова Елена Перейти к цитате
Автор: dmishin Перейти к цитате
Не подскажете, какая может быть причина ошибки, возвращаемую плагином во время подписывания:
Unknown error code (0x80880902)

Получили заявку от пользователя. Повторить пока не получилось, поэтому кроме кода ошибки дополнительной информации нет.


Скорее всего криптопровайдер выдал окно с поиском ключевого носителя, где пользователь нажал кнопку "Отмена".
Поскольку другой информации об ошибке нет, то сложно сказать точно, чем она была вызвана.


Да, спасибо. Пытаемся связаться с клиентом.
Offline forik  
#320 Оставлено : 22 марта 2013 г. 12:00:46(UTC)
forik

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

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

Сказал(а) «Спасибо»: 2 раз
Добрый день!
Внезапно запутался =)
Осуществляю подпись:
Код:
sign: function (data, certificate) {
        try {
            var signer = this.createCryptoObject(this.getSignerString());
        }
        catch (e) {
            this.alert('Ошибка', 'Ошибка получения объекта для подписания: ' + e.message);
            return null;
        }

        if (signer && certificate) {
            signer.Certificate = certificate;
        }
        else {
            this.alert('Ошибка', 'Не удалось получить сертификато либо объект для подписания');
        }

        var signedData = this.createCryptoObject(this.getSignedDataString());

        if (!this.isIE()) {
            signedData.ContentEncoding = this.constants.cryptoPro.CADESCOM_BASE64_TO_BINARY;
        }

        signedData.Content = data;

        try {
            var signature = this.isIE() ?
                signedData.Sign(signer, true /*detached*/, this.constants.encodingType.CAPICOM_ENCODE_BASE64)
                : signedData.SignCades(signer, this.constants.cryptoPro.CADES_BES, true /*detached*/, this.constants.encodingType.CAPICOM_ENCODE_BASE64);
            return signature;
        }
        catch (e) {
            this.alert('Ошибка подписания документа: ' + e.message);
            return null;
        }
    }

Проверка:
verify: function (signed, detached, content) {
        var signedData = this.createCryptoObject(this.getSignedDataString());
        if (detached) {
            signedData.Content = content;
        }

        if (this.isIE()) {
            try {
                signedData.Verify(signed, detached, this.constants.verifyFlag.CAPICOM_VERIFY_SIGNATURE_ONLY);
                return true;
            }
            catch (e) {
                return false;
            }
        }
        else {
            try {
                signedData.ContentEncoding = this.constants.cryptoPro.CADESCOM_BASE64_TO_BINARY;
                signedData.VerifyCades(signed, this.constants.cryptoPro.CADES_BES, detached);
                return true;
            }
            catch (e) {
                return false;
            }
        }
    }

Подпись: var sign = Crypto.sign("dGVzdA==" /*test*/, cert);
Вызов после пердыдущей подписи: var result = Crypto.verify(sign, true, 'dGVzdA==');
Падает с ошибкой "Неверный хеш". Странно, подскажите пожалуйста!

Отредактировано пользователем 22 марта 2013 г. 12:11:40(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (8)
46 Страницы«<3031323334>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.