03.08.2004 19:33:42X.509 Ответов: 7
Ajgor
Подскажите пожалуйста что такое X.509 и с чем его едят.
Надо написать просмотрщик на С++ для сертификатов в формате Х.509
(если бредово сформировал вопрос, то извините пока только разбираюсь с понятиями). С чего начать?
Заранее спасибо.
 
Ответы:
04.08.2004 10:28:40Kirill Sobolev
Насчет Х.509 посмотрите здесь
http://www.cryptopro.ru/CryptoPro/pki/dig_cert.asp - ссылки на RFC.
Начать лучше всего с изучения CryptoAPI, той части которая касается работы с сертификатами.
04.08.2004 14:02:13Ajgor
Спасиба разобрался!!!
04.08.2004 16:03:52Александр
Если сертифика расположен в файле, то ничего вам писать не надо, просто щёлкаете по нему и всё. И ещё в винде есть оснастка для просмотра сертификатов в хранилищах.
04.08.2004 17:23:26Ajgor
Для того чтобы перебрать весь состав сертификата (версия, серийный номер и т.д.) нужно обращаться к полям структуры CERT_INFO:

CERT_INFO pCertContext;

...

pCertContext->pCertInfo->dwVersion;
pCertContext->pCertInfo->SerialNumber;
pCertContext->pCertInfo->SignatureAlgorithm;

а потом самому доставть оттуда данные или есть более продвинутые способы (типа GetCertVersion(), GetCertSerialNumber())?
04.08.2004 17:35:12Kirill Sobolev
Есть но не для всех. Субъекта или издателя получить можно, а вот версию или номер - нет.
04.08.2004 17:44:36Александр
Запустите MSDN и введите следующий URL: ms-help://MS.MSDNQTR.2003JUL.1033/wcecryp2/html/ceconEncodingandDecodingaCertificateContext.htm.
И увидите как выглядит структура CERT_INFO.
04.08.2004 17:44:52Ajgor
Получается если нада взять все возможные значения из сертификата то только руками... А функция CertEnumCertificateContextProperties (или ей подобная) не позволяет это сделать в цикле?