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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей Писарев  
#11 Оставлено : 24 сентября 2015 г. 13:28:00(UTC)
Андрей *

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

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

Сказал «Спасибо»: 575 раз
Поблагодарили: 2306 раз в 1807 постах
Автор: AlexEr81 Перейти к цитате
понятно. а как же мне раскодировать szOID_PRIVATEKEY_USAGE_PERIOD с помощью CSP, раз CryptoAPI не умеет декодировать такое расширение? какую библиотеку подключить?


Автор: Kirill Sobolev Перейти к цитате
CryptoAPI не умеет декодировать такое расширение.
Нужно дополнительно регистрировать функцию декодирования, это, в частности, умеет CSP 3.6R2.



Поиск по форуму
Техническую поддержку оказываем тут
Наша база знаний
Offline AlexEr81  
#12 Оставлено : 24 сентября 2015 г. 14:19:49(UTC)
AlexEr81

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
я подумал что надо дополнительно библиотеку от криптопро регистрировать.
декодировал с помощью:
szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode в CPCERT_PRIVATEKEY_USAGE_PERIOD.
дата какая то интересная получилась
сертификат Действителен: с 05.06.2015 15:01:47 по 05.09.2016 15:01:47
а Период использования закрытого ключа(2.5.29.16)
14.01.1608 06:30:17 - 05.06.2015 13:57:52
Offline AlexEr81  
#13 Оставлено : 24 сентября 2015 г. 16:03:34(UTC)
AlexEr81

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
где-то попадалось дата 1608 кажется на этом форуме . неправильно извлекали. не найду теперь
Offline AlexEr81  
#14 Оставлено : 25 сентября 2015 г. 9:45:55(UTC)
AlexEr81

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

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

Сказал(а) «Спасибо»: 9 раз
Поблагодарили: 1 раз в 1 постах
Код:
const
    szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode ='{E36FC6F5-4880-4CB7-BA51-1FCD92CA1453}';

type   PCPCERT_PRIVATEKEY_USAGE_PERIOD= ^CPCERT_PRIVATEKEY_USAGE_PERIOD;
       CPCERT_PRIVATEKEY_USAGE_PERIOD =record
         pNotBefore : FileTime;
         pNotAfter  : FileTime;
end;
      

function ext_PRIVATEKEY_USAGE_PERIOD(rgExtension:PCERT_EXTENSION;cExtension:Cardinal):string;
var     pExtension:PCERT_EXTENSION;
            szOID: LPSTR;
      cbStructInfo, i: Cardinal;
        pvStructInfo: pvoid;

begin
szOID:=szOID_PRIVATEKEY_USAGE_PERIOD;
pExtension := CertFindExtension(szOID, cExtension,rgExtension);
szOID:=szCPGUID_PRIVATEKEY_USAGE_PERIOD_Encode;
if (Assigned(pExtension) and CryptDecodeObject(X509_ASN_ENCODING or PKCS_7_ASN_ENCODING, szOID,
      pExtension^.Value.pbData, pExtension^.Value.cbData, 0, nil, @cbStructInfo)) then
  begin
       GetMem(pvStructInfo, cbStructInfo);
try
    begin
     CryptDecodeObject(X509_ASN_ENCODING or PKCS_7_ASN_ENCODING, szOID, pExtension^.Value.pbData,
                       pExtension^.Value.cbData, 0, pvStructInfo, @cbStructInfo);
         result:=FileTimeToSTRTime(PCPCERT_PRIVATEKEY_USAGE_PERIOD(pvStructInfo^).pNotBefore)+' - '+FileTimeToSTRTime(PCPCERT_PRIVATEKEY_USAGE_PERIOD(pvStructInfo^).pNotAfter);
    end;
 finally
  FreeMem(pvStructInfo);
 end;
    end;
end; 


все работает. всем спасибо!

Отредактировано пользователем 25 сентября 2015 г. 9:49:41(UTC)  | Причина: Не указана

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