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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline IOFeed  
#1 Оставлено : 5 августа 2015 г. 16:20:53(UTC)
IOFeed

Статус: Участник

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 6 раз в 5 постах
Суть проблемы:
1) Создаем подпись в Java (на базе ваших примеров) используя метод createhashCMS
При таком подписании ЭЦП создается без атрибута Signing Certificate Attribute Definition (1.2.840.113549.1.9.16.47 или 1.2.840.113549.1.9.16.2.12). Согласно последней версии стандарта (ETSI TS 101 733 V2.2.1 2013-04) такая подпись не отвечает требованиям CADES:
Цитата:
5.6.3 Signature Verification Process
the input to the signature verification process shall be the signer's public key, which shall be verified as correct using the signing certificate reference attribute containing a reference to the signing certificate


2) Тем не менее ЭЦП успешно проходит валидацию на ресурсе http://www.gosuslugi.ru/pgu/eds/, в то время как при попытке проверки подписи средствами плагина получаю ошибку:
Цитата:
The signed cryptographic message does not have a signer for the specified signer index. (0x8009200E).

В логах вижу такое:
Цитата:
[1904] cades.dll: {1908} /CadesVerifyDetachedMessage/ cades.cpp(2744) : (pVerifyPara=0x0012F364, dwSignerIndex=0, pbDetachedSignBlob=0x03A2A818, cbDetachedSignBlob=2887, cToBeSigned=1, rgpbToBeSigned=0x0012F37C, rgcbToBeSigned=0x0012F380, ppVerificationInfo=0x0012F3A8)
[1904] cades.dll: {1908} /CadesMsgVerifySignatureImpl/ cades.cpp(1683) : Input parameters checked
[1904] cades.dll: {1908} /CryptoPro::PKI::GetSignerCertIdEx/ GetCertID.inl(120) : (other)SigningCert attribute not found
[1904] cades.dll: {1908} /ExtractReferencedValidationData/ ValidationEvidence.h(1112) : Signer certificate reference not found
[1904] cades.dll: {1908} /CadesVerifyDetachedMessage/ cades.cpp(2765) : COleException, m_sc=0x8009200e
[1904] cades.dll: {1908} /CadesVerifyDetachedMessage/ cades.cpp(2777) : (res=0, GetLastError=0x8009200e
[1904] cades.dll: {1908} /CadesFreeVerificationInfo/ cades.cpp(2793) : (pVerificationInfo=0x033C2210)
[1904] cades.dll: {1908} /CadesFreeVerificationInfo/ cades.cpp(2821) : (res=1, GetLastError=0x8009200e

[1580] pkivalidator.dll: {584} /CertDllVerifySSLCertificateChainPolicy/ CertDllVerifyCertificateChainPolicy.cpp(49) : Start
[1580] pkivalidator.dll: {584} /SSLImpl/ CertVerifyCertificateChainPolicySSLImpl.cpp(477) : Original CERT_CHAIN_POLICY_SSL check returned error: 0x80092013. Other checks must not be performed - returning.
[1580] pkivalidator.dll: {584} /CertDllVerifyCertificateChainPolicyProxy/ CertDllVerifyCertificateChainPolicy.cpp(28) : Finish. Returning TRUE.


Версия плагина: 2.0.2051
Версия CSP: 3.6.7777
Версия ОС: Windows XP SP3 x86

Следовательно воспрос:
Позволяет ли КриптоПро ЭЦП Browser plug-in проверять обычную CMS подпись (не CADES) и если да, то как это сделать?
Прочитав описание API можно сделать вывод что плагин поддерживает только работу с CADES подписями, но, может я что-то упустил?

Отредактировано пользователем 5 августа 2015 г. 16:35:33(UTC)  | Причина: Не указана

Online Максим Коллегин  
#2 Оставлено : 5 августа 2015 г. 19:02:44(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Поддерживает. Нужно Verify вместо VerifyCades

Отредактировано пользователем 5 августа 2015 г. 19:07:13(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline IOFeed  
#3 Оставлено : 6 августа 2015 г. 10:41:06(UTC)
IOFeed

Статус: Участник

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 6 раз в 5 постах
Автор: maxdm Перейти к цитате
Поддерживает. Нужно Verify вместо VerifyCades

Получаю аналогичную ошибку:
Цитата:
The signed cryptographic message does not have a signer for the specified signer index. (0x8009200E)

В логе также без изменений:
Цитата:
[420] cades.dll: {424} /CadesVerifyDetachedMessage/ cades.cpp(2744) : (pVerifyPara=0x0012F3CC, dwSignerIndex=0, pbDetachedSignBlob=0x042CF9E8, cbDetachedSignBlob=2887, cToBeSigned=1, rgpbToBeSigned=0x0012F3E4, rgcbToBeSigned=0x0012F3E8, ppVerificationInfo=0x0012F410)
[420] cades.dll: {424} /CadesMsgVerifySignatureImpl/ cades.cpp(1683) : Input parameters checked
[420] cades.dll: {424} /CryptoPro::PKI::GetSignerCertIdEx/ GetCertID.inl(120) : (other)SigningCert attribute not found
[420] cades.dll: {424} /ExtractReferencedValidationData/ ValidationEvidence.h(1112) : Signer certificate reference not found
[420] cades.dll: {424} /CadesVerifyDetachedMessage/ cades.cpp(2765) : COleException, m_sc=0x8009200e
[420] cades.dll: {424} /CadesVerifyDetachedMessage/ cades.cpp(2777) : (res=0, GetLastError=0x8009200e
[420] cades.dll: {424} /CadesFreeVerificationInfo/ cades.cpp(2793) : (pVerificationInfo=0x033CAA38)
[420] cades.dll: {424} /CadesFreeVerificationInfo/ cades.cpp(2821) : (res=1, GetLastError=0x8009200e

Проверяю подпись так:
Код:

        var oSignedData = ObjCreator("CAdESCOM.CadesSignedData");

        try {
            oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
            oSignedData.Content = dataToVerify; //Данные в BASE64
            oSignedData.Verify(signatureBody, true, 1);
        } catch (ex) {
            throw "Failed to verify signature. Error: " + GetErrorMessage(ex);
        }
        return true;

Кроме того, в руководсте разработчика сказано такое (http://cpdn.cryptopro.ru/default.asp?url=content/cades/class_c_ad_e_s_c_o_m_1_1_cades_signed_data.html):
Цитата:
В отличие от объекта CAPICOM.SignedData , методы Sign, CoSign и Verify здесь создают и проверяют усовершенствованную подпись типа CAdES-X Long Type 1.
Online Максим Коллегин  
#4 Оставлено : 6 августа 2015 г. 11:24:38(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Значит используйте CAPICOM.SignedData
Знания в базе знаний, поддержка в техподдержке
Offline Павел Смирнов  
#5 Оставлено : 6 августа 2015 г. 11:34:24(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
КриптоПро ЭЦП Browser plug-in не поддерживает подписи CMS (не CAdES BES). Создайте в Java CAdES BES.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline ilyat  
#6 Оставлено : 16 августа 2017 г. 16:56:59(UTC)
ilyat

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

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

Автор: Смирнов Перейти к цитате
КриптоПро ЭЦП Browser plug-in не поддерживает подписи CMS (не CAdES BES). Создайте в Java CAdES BES.


Это верное и актуальное сообщение? Есть какой-то способ использовать CMS?

Offline cross  
#7 Оставлено : 17 августа 2017 г. 11:13:48(UTC)
Анатолий Беляев

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Автор: ilyat Перейти к цитате
Это верное и актуальное сообщение? Есть какой-то способ использовать CMS?

Да, сообщение актуальное.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Юрий Соколов  
#8 Оставлено : 9 ноября 2020 г. 14:36:24(UTC)
Юрий Соколов

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Получил аналогичную проблему при проверке подписи плагином. Подпись сторонняя и я не знаю её тип и как она создавалась. Подскажите вот эти строки из лога говорят о том, что она не CADES?
[8612] cades.dll: {8456} /CryptoPro::PKI::GetSignerCertIdEx/ getcertid.inl(120) : (other)SigningCert attribute not found
[8612] cades.dll: {8456} /ExtractReferencedValidationData/ validationevidence.h(1190) : Signer certificate reference not found

При этом КриптоАрм подпись успешно проверяет и данные о сертификате подписи выводит.

Мой полный лог:
[8612] cades.dll: {8456} /CCadesApp::InitInstance/ cadesapp.cpp(16) : hInstance=77D60000
[8612] cades.dll: {8456} /CadesVerifyDetachedMessage/ cades.cpp(3183) : (pVerifyPara=0x0032FA54, dwSignerIndex=0, pbDetachedSignBlob=0x0081AF28, cbDetachedSignBlob=2777, cToBeSigned=1, rgpbToBeSigned=0x0032FA6C, rgcbToBeSigned=0x0032FA70, ppVerificationInfo=0x0032FAA0)
[8612] cades.dll: {8456} /CadesMsgVerifySignatureImpl/ cades.cpp(2059) : Input parameters checked
[8612] cades.dll: {8456} /CadesMsgVerifySignatureImpl/ cades.cpp(2085) : CADES_USE_OCSP_AUTHORIZED_POLICY flag not set: 0
[8612] cades.dll: {8456} /CryptoPro::PKI::GetSignerCertIdEx/ getcertid.inl(120) : (other)SigningCert attribute not found
[8612] cades.dll: {8456} /ExtractReferencedValidationData/ validationevidence.h(1190) : Signer certificate reference not found
[8612] cades.dll: {8456} /CadesVerifyDetachedMessage/ cades.cpp(3204) : COleException, m_sc=0x8009200e
[8612] cades.dll: {8456} /CadesVerifyDetachedMessage/ cades.cpp(3216) : (res=0, GetLastError=0x8009200e
[8612] cades.dll: {8456} /CadesFreeVerificationInfo/ cades.cpp(3232) : (pVerificationInfo=0x04CDAA68)
[8612] cades.dll: {8456} /CadesFreeVerificationInfo/ cades.cpp(3260) : (res=1, GetLastError=0x8009200e
Offline Ситдиков Денис  
#9 Оставлено : 9 ноября 2020 г. 18:33:10(UTC)
Ситдиков Денис

Статус: Администратор

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 29 раз в 20 постах
Добрый день!
При проверке плагином можно в типе подписи указать константу CADESCOM_PKCS7_TYPE.
Если подпись соответствует PKCS7, то проверится.

(добавлено в версии 2.0.13771, changelog)

Отредактировано пользователем 9 ноября 2020 г. 18:41:20(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Ситдиков Денис за этот пост.
Юрий Соколов оставлено 10.11.2020(UTC)
Offline Юрий Соколов  
#10 Оставлено : 10 ноября 2020 г. 14:03:32(UTC)
Юрий Соколов

Статус: Участник

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

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