Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Помогите получить период действия закрытого криптоключа PrivateKeyUsagePeriod
Статус: Новичок
Группы: Участники
Зарегистрирован: 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 с этим параметром поиска ничего не даёт.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
CryptoAPI не умеет декодировать такое расширение. Нужно дополнительно регистрировать функцию декодирования, это, в частности, умеет CSP 3.6R2. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.05.2012(UTC) Сообщений: 6 Откуда: Москва
|
Добрый день, Кирилл, спасибо за отзыв. Подскажите, пожалуйста, куда копать в таком случае. Версия CSP будет использоваться именно эта.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
В wincryptex.h есть константа szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode - нужно использовать ее для декодирования. Декодируется в структуру CPCERT_PRIVATEKEY_USAGE_PERIOD. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.08.2009(UTC) Сообщений: 52
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
подкиньте пожалуйста значение szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode и описание структуры CPCERT_PRIVATEKEY_USAGE_PERIOD ну или где глянуть wincryptex.h, студии нет, пишу на delphi, нагуглить не смог.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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 |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,747   Сказал «Спасибо»: 575 раз Поблагодарили: 2306 раз в 1807 постах
|
|
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.11.2012(UTC) Сообщений: 65 Откуда: Ростовская область
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
подскажите пожалуйста где взять эти библиотеки криптопро? я читал sdk и так и не понял в capilite библиотека libcapi20 это dll или что? откуда скачать её?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,405  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 720 раз в 624 постах
|
Это dll для *nix. На Windows используется стандартная crypt32.dll |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 09.11.2012(UTC) Сообщений: 65 Откуда: Ростовская область
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
понятно. а как же мне раскодировать szOID_PRIVATEKEY_USAGE_PERIOD с помощью CSP, раз CryptoAPI не умеет декодировать такое расширение? какую библиотеку подключить?
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Помогите получить период действия закрытого криптоключа PrivateKeyUsagePeriod
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close