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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vldpyatkov  
#1 Оставлено : 11 декабря 2015 г. 12:38:43(UTC)
vldpyatkov

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

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

Сказал(а) «Спасибо»: 4 раз
Использовал CSP 4.0, пришлось по политическим соображениям перейти на 3.9.
Его должно быть достаточно для формирования подписи CADES_X_LONG_TYPE_1, но теперь валится ошибка:

Код:
Error calling method on NPObject


Вот мой код:

Код:

    //Only XLongType use tsp server
    var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
    var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
    //Include all certificate chain to signature
    var CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;
    var CADESCOM_BASE64_TO_BINARY = 1;
    //Hash algorithm
    var CADESCOM_HASH_ALGORITHM_SHA_512 = 100
    cryptoProUtil.SignCreateByHash = function(thumbprint, hashValue) {
        thumbprint = thumbprint.split(" ").reverse().join("").replace(/\s/g, "").toUpperCase();
        var oStore = CreateObject("CAPICOM.Store");
        oStore.Open();

        var oCertificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);

        if (oCertificates.Count == 0) {
            alert("Certificate not found: " + certSubjectName);
            return;
        }
        var oCertificate = oCertificates.Item(1);

        // Создаем объект CAdESCOM.HashedData
        var oHashedData = InitializeHashedData(CADESCOM_HASH_ALGORITHM_SHA_512, hashValue);

        // Создаем объект CAdESCOM.CPSigner
        var oSigner = CreateObject("CAdESCOM.CPSigner");
        oSigner.Options = CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
        oSigner.Certificate = oCertificate;
        oSigner.TSAAddress = cryptoProUtil.TSP_SERVER;

        // Создаем объект CAdESCOM.CadesSignedData
        var oSignedData = CreateObject("CAdESCOM.CadesSignedData");

        var sSignedMessage = "";

        // Вычисляем значение подписи
        try {
            sSignedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
        } catch (err) {
            alert("Failed to create signature. Error: " + GetErrorMessage(err));
            return;
        }

        return sSignedMessage;
    }


Вот логи из brouser plugin:

Код:

[816] cades.dll: (pSignPara=0x0051E970, pbHashData=0x06760CA0, cbHashData=32, pszInnerContentObjID=0x066D6990, ppSignedBlob=0x0051E99C)
[816] cades.dll: Signer updating start
[816] cades.dll:  Hash algorithm deduced
[816] cades.dll: (pAttr=0)
[816] cades.dll: (pAttr=0)
[816] cades.dll:  Attributes copied
[816] cades.dll:  Signer does not have any of signing-certificate attributes
[816] cades.dll:  signing-certificate(-v2) attribute assembled
[816] cades.dll:  Signer does not have signingTime attribute
[816] cades.dll:  signingTime attribute assembled
[816] cades.dll:  Signer is updated successfully
[816] cades.dll: (hCryptMsg=0x06707EC0, dwSignatureIndex=0, pCadesSignPara=0x0051DDC8)
[816] cades.dll: Input parameters checked
[816] cades.dll: Signer certificate ID found
[816] cades.dll: pSignerCert=0x06678F30
[816] cades.dll: (hCryptMsg=0x06707EC0, dwSignatureIndex=0, pdwCadesType=0x0051D6D4)
[816] cades.dll: (res=1, GetLastError=0x00000000
[816] cades.dll: Hash algorithm deduced
[816] cades.dll: Signature extracted via CMSG_ENCRYPTED_DIGEST
[816] tspcli.dll: Checking policies...
[816] tspcli.dll: Checking policies... OK.
[816] tspcli.dll: Making request...
[816] tspcli.dll: Initializing request...
[816] tspcli.dll: Encoding request...
[816] cades.dll: CAtlException, m_hr=0x8007064a
[816] cades.dll: (res=0, GetLastError=0x8007064a
[816] cades.dll: Expression FAILED: ::CadesMsgEnhanceSignature(msg.GetHandle(), 0, &cadesSignPara)
[816] cades.dll: Last win32 error thrown as exception
[816] cades.dll: COleException, m_sc=0x8007064a
[816] cades.dll: (res=0, GetLastError=0x8007064a


На 4.0 всё работало корректно.
Как мне справиться с этой проблемой?

Отредактировано пользователем 11 декабря 2015 г. 12:39:31(UTC)  | Причина: Не указана

Offline cross  
#2 Оставлено : 11 декабря 2015 г. 12:51:10(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
cades.dll: CAtlException, m_hr=0x8007064a
License info isn't present
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline vldpyatkov  
#3 Оставлено : 11 декабря 2015 г. 12:58:28(UTC)
vldpyatkov

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

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

Сказал(а) «Спасибо»: 4 раз
Разве это не доказывает обратное:

Snimok.PNG (26kb) загружен 29 раз(а).
Offline cross  
#4 Оставлено : 11 декабря 2015 г. 13:05:18(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Для создания X_LONG нужны еще лицензии на tsp клиент и ocsp клиент
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline vldpyatkov  
#5 Оставлено : 11 декабря 2015 г. 13:22:32(UTC)
vldpyatkov

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

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

Сказал(а) «Спасибо»: 4 раз
Когда я ставил триал для 4.0 ничего дополнительного ставить не требовалось.
А как посмотреть на что у меня лицензия распространяется?
Online Андрей Писарев  
#6 Оставлено : 11 декабря 2015 г. 13:49:07(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Автор: vldpyatkov Перейти к цитате
Когда я ставил триал для 4.0 ничего дополнительного ставить не требовалось.
А как посмотреть на что у меня лицензия распространяется?


Пуск\Все программы\КРИПТО-ПРО\КриптоПРО PKI
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
vldpyatkov оставлено 11.12.2015(UTC)
Offline vldpyatkov  
#7 Оставлено : 11 декабря 2015 г. 13:53:36(UTC)
vldpyatkov

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

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

Сказал(а) «Спасибо»: 4 раз
Понятно, большое спасибо.

Но для меня неожиданность что клиент лицензируется отдельно и что устанавливая CSP я также ставлю OCSP и TSP клиента лицензирующихся отдельно.
Лучше бы это где-то написать...
Online Андрей Писарев  
#8 Оставлено : 11 декабря 2015 г. 14:11:59(UTC)
Андрей *

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

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

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