Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.10.2011(UTC) Сообщений: 61
Сказал(а) «Спасибо»: 2 раз
|
Здравствуйте! Не получается получить сертификат. На notary.cryptopro.ru проверяется нормально. Пробую получить следующим образом: Код:
if( ! CryptQueryObject(
CERT_QUERY_OBJECT_FILE,
L"C:/Users/Timur/Desktop/Crypto/321.txt.sig",
CERT_QUERY_CONTENT_FLAG_ALL,
CERT_QUERY_FORMAT_FLAG_ALL,
0,
&dwTypeCertEncType,
&pdwContentType,
&pdwFormatType,
&hTempStore,
&hTempMsg,
NULL))
{
HandleError("CryptQueryObject");
}
if(pdwContentType == CERT_QUERY_CONTENT_PKCS7_SIGNED)
{
if(! (pSignerCert = CertFindCertificateInStore(
hTempStore,
MY_TYPE,
0,
CERT_FIND_ANY,
NULL,
NULL)))
{
HandleError("test"); <---- попадает сюда
}
}
Падает с ошибкой объект не найден. Отредактировано пользователем 30 мая 2012 г. 15:39:29(UTC)
| Причина: Не указана Вложение(я): 321.txt.sig (11kb) загружен 8 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Здравствуйте! В электронной подписи формата CAdES-X Long Type 1 сертификаты хранятся не в коллекции Certificates, а в неподписанном атрибуте certificateValues. Для получения сертификатов в этом случае можно использовать функции CadesMsgGetCertificateValues, CadesMsgGetCertificateValuesEncoded и CadesMsgGetCertificateValuesEx.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.10.2011(UTC) Сообщений: 61
Сказал(а) «Спасибо»: 2 раз
|
То есть такие подписи не получиться проверить обычным образом (CryptVerifyDetachedMessageSignature)? Если нет, то можно ли с помощью плагина создать обычную подпись, как в CAPICOM?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Проверить такие подписи обычным способом можно. Только если планируется проверять подписи при помощи CryptVerifyDetachedMessageSignature, то нет смысла делать подпись формата CAdES-X Long Type 1. Эти подписи содержат дополнительные доказательства действительности сертификата в момент создания подписи, проверять которые CryptVerifyDetachedMessageSignature не умеет. В вашем случае есть 2 варианта, в зависимости от того, нужна вам усовершенствованная подпись или нет: - Если проверять нужно именно с использованием CryptVerifyDetachedMessageSignature, то лучше создавать в плагине подпись формата CAdES-BES (см. SignCades). - Использовать для проверки подписи вместо CryptVerifyDetachedMessageSignature функцию CadesVerifyDetachedMessage.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.10.2011(UTC) Сообщений: 61
Сказал(а) «Спасибо»: 2 раз
|
Спасибо, CADES_BES решил проблему.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close