Re: Найти CRls | |
---|---|
lulgu Сообщений: 1838 Дата регистрации: 30.11.2016 |
Возможно, в Python подобный способ себя оправдывает. Хотя, если в Фоксе, как в некоторых языках, заранее записать структуры (да и функции тоже, возможно) в текстовом формате и написать несколько процедур для их расшифровки, то необходимость в доморощенных методах отпадет. Но, увы, попытки автоматизировать преобразования типов оказались неудачными, а сейчас в этом нет никакого смысла. |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
Уважаемый lulgu, а Вы в курсе, что существует Visual Foxpro Advanced 10 64 bits 2018.10.03 esn.rar FREE ?
Многие уже испробовали данный китайский продукт! И ведь он работает ;) Только давайте не будем засорять данную тему его обсуждением здесь. Для этого есть раздел "Курилка" |
Re: Найти CRls | |
---|---|
lulgu Сообщений: 1838 Дата регистрации: 30.11.2016 |
Согласен с вами, честь и хвала китайскому продукту. Непонятно, правда, с чего вы его вдруг помянули. В данном случае речь идет о том, что ручная работа опытнейших программистов с WinApi не повод для гордости, к сожалению. |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
И всё-таки, кажется, я был прав, что размер структуры CERT_EXTENSION составляем именно 16 байт, а не 13 байт.
По крайней мере вот этот код под отладчиком выдаёт более-меенее похожие на правду значения:
cbValue = 3 pbValue = 902140213 тогда как если брать длину всей структуры 13 байт, то в полях этой структуры возвращается бред сумасшедшего. Тем не менее, код продолжает не работать и дальше, вовращая ошибку с кодом 9 "Несоответствие типов данных". Я грешу на параметр
Что здесь может быть не так? Уже пробовал заменить lpszStructType = szOID_CRL_REASON_CODE на lpszStructType = StrConv(szOID_CRL_REASON_CODE + CHR(0), 5), но ни так, ни по-другому не работает! |
Re: Найти CRls | |
---|---|
morafernet Сообщений: 8 Дата регистрации: 09.12.2018 |
Привет форум.
Роман, ты пытаешься взять регион расширений из контекста сертификата или CRL? Если это контекст сертификата, вот пример того, как этого добиться, для чего используйте ваш образец сертификата. Я думаю, что это не должно сильно отличаться от CRL, поскольку они имеют схожие структуры. PS: надеюсь, вы понимаете, что я пишу, я использую переводчик.
|
Re: Найти CRls | |
---|---|
morafernet Сообщений: 8 Дата регистрации: 09.12.2018 |
В этом примере показаны все причины отзыва.
Обратите внимание, как декодирование структуры CRL похоже на сертификат.
|
Re: Найти CRls | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
BOOL это на самом деле 4 байта. Оно определено как
------------------ WBR, Igor |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
Спасибо за пример, Fernando!
Я никак не ожидал, что нужно было устанавливать значение: dwFormatStrType = 1 Я после двух бессонных ночей упорно пытался устанавливать это значение dwFormatStrType = 0 И не придал этому должного внимания из-за невнятного описания параметра в MSDN. Теперь впредь постараюсь быть более внимательным. Кстати, у Вас отличный русский! Вас на этом русском форуме все прекрасно поняли. Знаю, что по-испански Вы меня тоже всегда понимали. Главное это передать мысль и идею, а языковые преграды в XXI веке нам не помеха! )) Muchas gracias! Visitanos mas seguido! P.S.: Надо написать Joys'у, что не все испанские символы поддерживаются. Явно используемая кодировка на сайте не UTF8? Исправлено 4 раз(а). Последнее : rvc44, 04.09.19 09:23 |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
Игорь, и Вам большое спасибо! Ваши комментарии и даже любые намёки "в какую сторону копать" всегда очень ценны!
P.S.: "апи винды" это API Windows (специально для Fernando) Исправлено 2 раз(а). Последнее : rvc44, 02.09.19 23:48 |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
Для сертификатов структура CRL_INFO составляет 112 байт
При этом, структура CRL_CONTEXT полностью идентична структуре CERT_CONTEXT
А вот структура CRL_ENTRY длиной 24 байта, а не 16 байт:
Исправлено 3 раз(а). Последнее : rvc44, 04.09.19 09:21 |
Re: Найти CRls | |
---|---|
morafernet Сообщений: 8 Дата регистрации: 09.12.2018 |
В дополнение к тому, что говорит Роман, в функции GetOidValues замените «tpCertContext» на «tpCrlContext», также «lcCertInfo» на «lcCrlInfo», это может привести к путанице. Функция GetCryptStringToBinary не применяется для этого упражнения.
Удалите сомнения относительно длины расширений (16), и теперь мы знаем длину записей CRL (24). (CRLEntry) привет Fernando |
Re: Найти CRls | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
Fernando, Ваш второй пример для CRL очень пригодился. Хотя в нем не используется функция CertFindExtension для CRL, мне сегодня удалось реализовать свою первоначальную задумку по осуществлению поиска расширений CRL по конкретному заранее заданному объектному идентификатору (OID)с помощью функции CertFindExtension. Я очень рад, что такую хитрую маршализацию C++ удалось полностью повторить на чистом VFP, причем без применения внешних библиотек и без единого Global/Local/Heap alloc, с использованием только стандартного CryptoAPI. За прошедшие пару дней, пока я нахожусь в отпуске, удалось серьезно повысить уровень своих знаний. Теперь осталось проверить и сравнить несколько разных способов загрузки CRL. С Вашим способом загрузки через CryptoAPI я уже ознакомился. Пока мне не удалось проверить, будет ли он работать через Proxy. Также мне кажется, что загрузка CRL вручную (не через CryptoAPI) может работать быстрее, особенно с учётом того, что мы не будем перебирать все OID'ы при парсинге, а будем выборочно проверять то, что нам нужно с помощью CertFindExtension. Как полностью доделаю, можно будет замерить и сравнить время выполнения на больших CRL lists.
|
© 2000-2024 Fox Club  |