![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| ivanfr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Проблема следующая. Есть исходник, с помощью которого можно получить данные из сертификата. Но конкретно данный исходник выдирает только серийный номер, хотя помещает в память все данные по сертификату. я хотел бы вытащить дату создания и дату окончания действия. субъекта то есть имя и почту. а я знаю что субъект- как бы разбит на E-почта,CN-фио,OU,O,L поля.
function GetSerialNumber(CertInfo: PCCERT_CONTEXT): String; begin Result := ByteArrayToStr(CertInfo.pCertInfo.Subject.pbData, CertInfo.pCertInfo.Subject.cbData); если я модифицирую это строку таким образом, то он он перекодирует в 16 систему. а мне нужны данные Subject типа [email protected] Иванов И.П., то есть в обычном, нормальном представлении. CertInfo.pCertInfo.Subject.pbData,СertInfo.pCertInfo.Subject.cbData как я понял данные в двоичной форме end; Как можно преобразовать даные?
Это сообщение отредактировал(а) ivanfr - 25.2.2010, 10:10 |
|||
|
||||
| ivanfr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
Проблему решил теперь выводятся нужные поля Subject, notbefore, notafter, Issuer
исходник немного косячный, но работает вроде стабильно. Проверяем, на косяки помогаем довести до ума.
Присоединённый файл ( Кол-во скачиваний: 28 )
icxodnik.rar 356,19 Kb |
|||
|
||||
| ivanfr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
||||
|
||||
| ivanfr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 1.4.2009 Репутация: нет Всего: нет |
если хотите чтобы поля выодились как X 509
CN=Иванов И.И. O=Рога и копыта OU=Отдел сопровождения E= [email protected] C= RU L=Москва Если поменять эту строчку size := CertNameToStr(encType, @nameBlob, CERT_X500_NAME_STR, nameString, 512); то в nameString будет лежать, примерно, следующее "CN=Иванов И.И., O=Рога и копыта, OU=Отдел сопровождения, [email protected], C=RU, L=Москва". а вообще там можно использовать 3 параметра: CERT_SIMPLE_NAME_STR; тут будет лежать строка с данными о субъекте CERT_OID_NAME_STR; с версиями.. CERT_X500_NAME_STR. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |