Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
Значит используйте CAPICOM.SignedData |
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
КриптоПро ЭЦП Browser plug-in не поддерживает подписи CMS (не CAdES BES). Создайте в Java CAdES BES. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.08.2017(UTC) Сообщений: 1
|
Автор: Смирнов КриптоПро ЭЦП Browser plug-in не поддерживает подписи CMS (не CAdES BES). Создайте в Java CAdES BES. Это верное и актуальное сообщение? Есть какой-то способ использовать CMS?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Автор: ilyat Это верное и актуальное сообщение? Есть какой-то способ использовать CMS? Да, сообщение актуальное. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 95 Откуда: Москва Сказал(а) «Спасибо»: 4 раз Поблагодарили: 29 раз в 20 постах
|
|
1 пользователь поблагодарил Ситдиков Денис за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.07.2019(UTC) Сообщений: 10
Сказал(а) «Спасибо»: 1 раз
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close