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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline knyazev_1  
#1 Оставлено : 24 июля 2017 г. 14:04:18(UTC)
knyazev_1

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

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

Сказал(а) «Спасибо»: 1 раз
Здравствуйте! Помогите пожалуйста разобраться.
Искал на форуме решение проблемы.
Нашёл похожую:
https://www.cryptopro.ru...ts&m=25794#post25794
Делаю всё как описано:
Цитата:

Установлено КриптоПро CSP. Лицензии действующие.
Получил сертификат УЦ:
1. Зашел сюда "https://www.cryptopro.ru/certsrv/".
2. Получить сертификат Удостоверяющего Центра или действующий список отозванных сертификатов
3. Загрузка сертификата ЦС
4. сохранил на диск
5. запустил и установил в "Доверенные корневые центры сертификации".
Формирую ключи:
1. Зашел сюда "https://www.cryptopro.ru/certsrv/".
2. Сформировать ключи и отправить запрос на сертификат
3. Создать и выдать запрос к этому ЦС.
4. Имя "test_my", остальное все по умолчанию.
5. выбираю"Реестр", ввожу пароль, нажимаю "Установить сертификат"
6. Уаля: Новый сертификат успешно установлен.



беру тестовый пример SimplifiedSignCasesBes.cpp
всё прекрасно работает, создаётся файлик sign.dat

Далее, если я правильно понимаю, проверить подпись нужно при помощи
SimplifiedVerifyCadesBes.cpp,
которая выдаёт ошибку:
CadesVeryfiMessage() failed

В DebugView такие строки:

Код:

[9208] Externs.cpp(33) : /Init/
[9208] CPSettings.cpp(305) : /Init/
[9208] Externs.cpp(33) : /Init/
[9208] CPSettings.cpp(305) : /Init/
[9208] Externs.cpp(33) : /Init/
[9208] CPSettings.cpp(305) : /Init/
[9208] cades.dll: {5148} /CCadesApp::InitInstance/ CadesApp.cpp(16) : hInstance=5E600000
[9208] cades.dll: {5148} /CadesVerifyMessage/ cades.cpp(2823) : (pVerifyPara=0x0034F82C, dwSignerIndex=0, pbSignedBlob=0x006541F8, cbSignedBlob=1112, ppDecodedBlob=0x0034F814, ppVerificationInfo=0x0034F820)
[9208] cpcspi: Thread: file:line function text xcode(dcode) level: 0
[9208] cpcsp: Thread: file:line text level: 0
[9208] cpui: Thread: file:line function text xcode(dcode) level: 0
[9208] cades.dll: {5148} /CadesMsgVerifySignatureImpl/ cades.cpp(1751) : Input parameters checked
[9208] cades.dll: {5148} /ExtractReferencedValidationData/ ValidationEvidence.h(1175) : Signer certificate not found
[9208] cades.dll: {5148} /CadesVerifyMessage/ cades.cpp(2843) : COleException, m_sc=0x80070490
[9208] cades.dll: {5148} /CadesVerifyMessage/ cades.cpp(2855) : (res=0, GetLastError=0x80070490
[9208] cades.dll: {5148} /CadesFreeVerificationInfo/ cades.cpp(2918) : (pVerificationInfo=0x006486C8)
[9208] cades.dll: {5148} /CadesFreeVerificationInfo/ cades.cpp(2946) : (res=1, GetLastError=0x80070490



Если же проверить из командной строки, то говорит что всё ок:

Код:

csptest -sfsign -verify -in D:\vs_tests\cades_samples\SimplifiedSignCadesBes\sign.dat -my "Илья"
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6590 OS:Windows CPU:IA32 FastCode:RE
ADY,DISABLED (CContextG28147EncryptECB; CContextG28147DecryptECB; CContextG28147
EncryptCBC; CContextG28147DecryptCBC; CContextG28147G
#0:
Subject: CN=Илья
Valid  : 24.07.2017 - 24.10.2017
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO
 Test Center 2

#0:
Subject: CN=Илья
Valid  : 24.07.2017 - 24.10.2017
Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO
 Test Center 2

Signature was verified OK
Total: SYS: 0,016 sec USR: 0,000 sec UTC: 0,062 sec
[ErrorCode: 0x00000000]


Система и компоненты:
Windows 7 64 sp1
КриптоПро ЭЦП Browser plug-in 2.0.12888
КриптоПро CSP 3.6.6590
КриптоПро ЭЦП SDK 2.0.12746
Offline Андрей Емельянов  
#2 Оставлено : 28 июля 2017 г. 18:56:20(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Добрый день.
Приложите получившийся файл sign.dat посмотреть.
Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram
Offline knyazev_1  
#3 Оставлено : 31 июля 2017 г. 9:28:43(UTC)
knyazev_1

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

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

Сказал(а) «Спасибо»: 1 раз
Цитата:
Добрый день.
Приложите получившийся файл sign.dat посмотреть.


С этим разобрался. Оказывается нужно было поставить ещё и файл certnew.p7b (цепочка сертификатов)

Но теперь есть ещё одна проблема. Может поможете заодно.
Там в коде можно передать Имя сертификата и тогда программа его выберет без всяких проверок,
а можно ничего не передавать и тогда программа выберет первый удовлетворяющий условиям.

Так вот если я пишу имя, то выбирается соответствующий сертификат, и то всё работает хорошо, и подпись и верификация подписи.
А вот если имя сертификата не задать, он переберёт все, в том числе и тот, на котором работает, но не найдёт подходящего,
т.к. не выполняется условие:

Код:

inline bool isGostType(unsigned long dwProvType) {
    return (dwProvType == PROV_GOST_2001_DH);//здесь  dwProvType == 1
}


P.S.
Работает всё в режиме CADES_BES в режиме CADES_X_LONG_TYPE_1 не работает, но это наверно уже следующий вопрос.

Отредактировано пользователем 31 июля 2017 г. 9:29:24(UTC)  | Причина: Не указана

Offline cross  
#4 Оставлено : 31 июля 2017 г. 13:45:54(UTC)
Анатолий Беляев

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
пример предназначен для работы с ГОСТ сертификатами. Если у вас там тип 1 то у вас RSA сертификат.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline knyazev_1  
#5 Оставлено : 31 июля 2017 г. 14:21:06(UTC)
knyazev_1

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

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

Сказал(а) «Спасибо»: 1 раз
Спасибо за ответ, но у меня сертификат который на сайте
https://www.cryptopro.ru/certsrv/
по-умолчанию - Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider.
вот его экспорт export_cert_des.zip (1kb) загружен 4 раз(а).
А вот некоторые из его свойств:
Код:
Алгоритм подписи: 
ГОСТ Р 34.11/34.10-2001
Алгоритм хэширования подписи: 
ГОСТ Р 34.11-94
Издатель: 
CN = CRYPTO-PRO Test Center 2
O = CRYPTO-PRO LLC
L = Moscow
C = RU
E = support@cryptopro.ru
Открытый ключ: 
ГОСТ Р 34.10-2001(512 bits)
Offline Андрей Емельянов  
#6 Оставлено : 31 июля 2017 г. 16:17:18(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Приложите ветку реестра посмотреть
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults

Сертификатов много в личном хранилище? Приложите результат выполнения
Код:
csptest -certkey -store my -nochange -provt 75 -v
Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram
Offline knyazev_1  
#7 Оставлено : 31 июля 2017 г. 16:47:58(UTC)
knyazev_1

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

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

Сказал(а) «Спасибо»: 1 раз

Цитата:
Приложите ветку реестра посмотреть
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults

Вот ветка cryptography_defaults.reg (11kb) загружен 2 раз(а).

Цитата:
Сертификатов много в личном хранилище? Приложите результат выполнения
csptest -certkey -store my -nochange -provt 75 -v


а вот результат выполнения команды:


Код:

C:\Program Files (x86)\Crypto Pro\CSP>csptest -certkey -store my -nochange -prov
t 75 -v
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6590 OS:Windows CPU:IA32 FastCode:RE
ADY,DISABLED (CContextG28147EncryptECB; CContextG28147DecryptECB; CContextG28147
EncryptCBC; CContextG28147DecryptCBC; CContextG28147G
No changes will be made!
Src ProvType: 75
Src ProvName: (any)
New ProvName: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider

Cert: OID.1.2.643.100.1=1037828047872, OID.1.2.643.100.3=00570200691, OID.1.2.64
3.3.131.1.1=007813185022, E=irina.xxxxxxxxx@xxxxxxxx.spb.ru, OID.1.2.840.113549.
1.9.2="INN=.....
Cont: SCARD\rutoken_347f60bc\0A00\0BFD
Prov: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Type: 75, Spec: 1, Flags: 0x0

Total: SYS: 0,031 sec USR: 0,031 sec UTC: 0,318 sec
[ErrorCode: 0x00000000]

C:\Program Files (x86)\Crypto Pro\CSP>


(Во втором сертификате убрал из вывода инфу об организации.)
Offline Андрей Емельянов  
#8 Оставлено : 31 июля 2017 г. 17:37:55(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Попробуйте переустановить личные сертификаты через панель КриптоПро CSP с привязкой к закрытому ключу.
Судя по выводу csptest - нашим провайдером (Crypto-Pro GOST R 34.10-2001) установлен только один сертификат, и это не тот, который был приложен (export_cert_des.cer), возможно поэтому тестовый пример не находит ничего подходящего для подписи.
Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram
thanks 1 пользователь поблагодарил Андрей Емельянов за этот пост.
knyazev_1 оставлено 31.07.2017(UTC)
Offline knyazev_1  
#9 Оставлено : 31 июля 2017 г. 17:53:16(UTC)
knyazev_1

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

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

Сказал(а) «Спасибо»: 1 раз

Цитата:
Попробуйте переустановить личные сертификаты через панель КриптоПро CSP с привязкой к закрытому ключу.
Судя по выводу csptest - нашим провайдером (Crypto-Pro GOST R 34.10-2001) установлен только один сертификат, и это не тот, который был приложен (export_cert_des.cer), возможно поэтому тестовый пример не находит ничего подходящего для подписи.


Переустановил. Заработало. Спасибо огромное.


А по поводу усовершенствованной подписи ( CADES_X_LONG_TYPE_1) не подскажете почему может не работать?
Или это лучше отдельный вопрос создать?
Offline Андрей Емельянов  
#10 Оставлено : 31 июля 2017 г. 18:02:32(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Цитата:
А по поводу усовершенствованной подписи ( CADES_X_LONG_TYPE_1) не подскажете почему может не работать?

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