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

Уведомление

Icon
Error

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

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

Группы: Участники
Зарегистрирован: 11.05.2012(UTC)
Сообщений: 6
Откуда: Москва

Доброго времени суток!

Подскажите пути решения проблемы - надо получить даты из расширения PrivateKeyUsagePeriod.

Собирался действовать следующим образом:

получаю необходимое расширение сертификата:

pExtension: PCERT_EXTENSION;
cbStructInfo: DWORD;

pExtension := CertFindExtension(szOID_PRIVATEKEY_USAGE_PERIOD, CertContext^.pCertInfo^.cExtension, CertContext^.pCertInfo^.rgExtension);

расширение находится успешно.

далее пытаюсь его декодировать:

CryptDecodeObject(PKCS_7_ASN_ENCODING or X509_ASN_ENCODING,
pExtension.pszObjId,
pExtension.Value.pbData,
pExtension.Value.cbData,
CRYPT_DECODE_NOCOPY_FLAG,
nil,
cbStructInfo);

на этом месте получаем ошибку "Ошибка 2".

Перепробовал разные параметры типа lpszStuctType для функции на основании http://msdn.microsoft.co...78145%28v=vs.85%29.aspx. Тут необходимой мне структуры нет.

В этом алгоритме смущает то, то искомая структура PCERT_PRIVATE_KEY_VALIDITY, которая и содержит требуемые даты, содержится внутри другой структуры PCERT_KEY_ATTRIBUTES_INFO, для получения которой требуется вызвать CryptDecodeObject с параметром типа структуры szOID_KEY_ATTRIBUTES, но такого расширения в сертификате нет, CertFindExtension с этим параметром поиска ничего не даёт.



Offline Kirill Sobolev  
#2 Оставлено : 14 мая 2012 г. 13:33:51(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
CryptoAPI не умеет декодировать такое расширение.
Нужно дополнительно регистрировать функцию декодирования, это, в частности, умеет CSP 3.6R2.
Техническую поддержку оказываем тут
Наша база знаний
Offline IvannikovAV  
#3 Оставлено : 14 мая 2012 г. 16:28:06(UTC)
IvannikovAV

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

Группы: Участники
Зарегистрирован: 11.05.2012(UTC)
Сообщений: 6
Откуда: Москва

Добрый день, Кирилл, спасибо за отзыв.
Подскажите, пожалуйста, куда копать в таком случае.
Версия CSP будет использоваться именно эта.
Offline Kirill Sobolev  
#4 Оставлено : 15 мая 2012 г. 15:00:36(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
В wincryptex.h есть константа szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode - нужно использовать ее для декодирования.
Декодируется в структуру CPCERT_PRIVATEKEY_USAGE_PERIOD.
Техническую поддержку оказываем тут
Наша база знаний
Offline Dmitriy3008  
#5 Оставлено : 30 апреля 2013 г. 9:39:36(UTC)
Dmitriy3008

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
подкиньте пожалуйста значение szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode и описание структуры CPCERT_PRIVATEKEY_USAGE_PERIOD
ну или где глянуть wincryptex.h, студии нет, пишу на delphi, нагуглить не смог.
Online Андрей Писарев  
#6 Оставлено : 30 апреля 2013 г. 9:44:42(UTC)
Андрей *

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

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

Сказал «Спасибо»: 575 раз
Поблагодарили: 2306 раз в 1807 постах
Автор: Dmitriy3008 Перейти к цитате
подкиньте пожалуйста значение szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode и описание структуры CPCERT_PRIVATEKEY_USAGE_PERIOD
ну или где глянуть wincryptex.h, студии нет, пишу на delphi, нагуглить не смог.


Скачать SDK к CSP, открыть в редакторе wincryptex.h
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#7 Оставлено : 30 апреля 2013 г. 9:47:05(UTC)
Андрей *

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

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

Сказал «Спасибо»: 575 раз
Поблагодарили: 2306 раз в 1807 постах
КриптоПро CSP 3.6 R3
Документация для разработчиков и примеры (SDK)
файл: sdk\samples\include\WinCryptEx.h
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Dmitriy3008 оставлено 30.04.2013(UTC)
Offline AlexEr81  
#8 Оставлено : 24 сентября 2015 г. 10:27:35(UTC)
AlexEr81

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

Группы: Участники
Зарегистрирован: 09.11.2012(UTC)
Сообщений: 65
Откуда: Ростовская область

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
подскажите пожалуйста где взять эти библиотеки криптопро?
я читал sdk и так и не понял в capilite библиотека libcapi20 это dll или что?
откуда скачать её?
Offline Максим Коллегин  
#9 Оставлено : 24 сентября 2015 г. 10:57:29(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
Это dll для *nix. На Windows используется стандартная crypt32.dll
Знания в базе знаний, поддержка в центре поддержки
Offline AlexEr81  
#10 Оставлено : 24 сентября 2015 г. 11:33:11(UTC)
AlexEr81

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

Группы: Участники
Зарегистрирован: 09.11.2012(UTC)
Сообщений: 65
Откуда: Ростовская область

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