Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться с кодом. CryptoAPI. / 9 сообщений из 9, страница 1 из 1
23.10.2019, 16:48
    #39880575
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
Нужно по контексту сертификата получить открытый ключ в Base64.
Взял пример отсюда:
https://stackoverflow.com/questions/55151904/how-to-get-the-public-key-from-a-certificate-in-windows-system-certstore
После вызова декода в ansi получаю пустую ссылку на результат.
Скрин прикрепляю.
...
Рейтинг: 0 / 0
23.10.2019, 16:53
    #39880578
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
Правильно ли я понимаю?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CryptDecodeObjectEx(
    _In_ DWORD dwCertEncodingType,
    _In_ LPCSTR lpszStructType,
    _In_reads_bytes_(cbEncoded) const BYTE *pbEncoded,
    _In_ DWORD cbEncoded,
    _In_ DWORD dwFlags,
    _In_opt_ PCRYPT_DECODE_PARA pDecodePara,
    _Out_opt_ void *pvStructInfo,
    _Inout_ DWORD *pcbStructInfo
    );



функция последними двумя параметрами принимает указатели, а я передаю ссылки
может в этом проблема?
...
Рейтинг: 0 / 0
23.10.2019, 17:06
    #39880591
Cerebrum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
listtoviewфункция последними двумя параметрами принимает указатели, а я передаю ссылки
может в этом проблема?
последними двумя параметрами ты передаешь указатели
у тебя же операция взятия адреса

Код: plaintext
1.
2.
3.
4.
int n = 3;
int& s = n; <- вот ссылка на n

int* pN = &n; <- указатель на n
...
Рейтинг: 0 / 0
23.10.2019, 17:13
    #39880594
Cerebrum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
listtoviewПосле вызова декода в ansi получаю пустую ссылку на результат.
а проверять GetLastError не царское это дело, да ?
...
Рейтинг: 0 / 0
23.10.2019, 17:13
    #39880595
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
listtoview, очень странно что ты не интересуешся результатом который возвращает эта функция.
Почитай тут https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptdecodeobjectex
И почитай как работает функция https://docs.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror

Это основы разработки в Windows-API и любой трабл-шутинг надо начинать с анализа кода ошибки.
...
Рейтинг: 0 / 0
24.10.2019, 12:00
    #39880845
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
Cerebrumlisttoviewфункция последними двумя параметрами принимает указатели, а я передаю ссылки
может в этом проблема?
последними двумя параметрами ты передаешь указатели
у тебя же операция взятия адреса

Код: plaintext
1.
2.
3.
4.
int n = 3;
int& s = n; <- вот ссылка на n

int* pN = &n; <- указатель на n


да, все норм
...
Рейтинг: 0 / 0
24.10.2019, 12:08
    #39880862
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
listtoviewфункция последними двумя параметрами принимает указатели, а я передаю ссылки
может в этом проблема?
Ты передаешь указатели. Оператор & перед переменной это получение указателя на переменную. В параметрах & это ссылка.
Такой вот он С++
...
Рейтинг: 0 / 0
24.10.2019, 15:29
    #39881037
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
Dima Tlisttoviewфункция последними двумя параметрами принимает указатели, а я передаю ссылки
может в этом проблема?
Ты передаешь указатели. Оператор & перед переменной это получение указателя на переменную. В параметрах & это ссылка.
Такой вот он С++
а не звездочку в параметрах надо?
...
Рейтинг: 0 / 0
24.10.2019, 15:37
    #39881042
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с кодом. CryptoAPI.
listtoviewDima Tпропущено...

Ты передаешь указатели. Оператор & перед переменной это получение указателя на переменную. В параметрах & это ссылка.
Такой вот он С++
а не звездочку в параметрах надо?
В параметрах звездочку
Код: plaintext
1.
foo(int *x)


для получения указателя &
Код: plaintext
1.
2.
int i = 7;
foo(&i);
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться с кодом. CryptoAPI. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]