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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Depish  
#1 Оставлено : 30 октября 2021 г. 15:37:54(UTC)
Depish

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

Группы: Участники
Зарегистрирован: 12.07.2021(UTC)
Сообщений: 39
Российская Федерация

Сказал(а) «Спасибо»: 10 раз
Использую встроеную функцию для чтения строки из бинарных данных CryptBinaryToString(W)

Код:

void WideToAnsi( const std::wstring & ws, std::string & s ) {
    char str[500];
    WideCharToMultiByte( CP_UTF8, 0, ws.c_str(), -1, str, 500, 0, 0);
    s = str;
}
//.....
        DWORD outSize = 0;
        if (CryptBinaryToString(certCtx->pCertInfo->SerialNumber.pbData, certCtx->pCertInfo->SerialNumber.cbData, CRYPT_STRING_HEX | CRYPT_STRING_NOCRLF, NULL, &outSize)) {
            std::wstring serial;
            serial.resize(outSize);
            if (CryptBinaryToString(certCtx->pCertInfo->SerialNumber.pbData, certCtx->pCertInfo->SerialNumber.cbData, CRYPT_STRING_HEX | CRYPT_STRING_NOCRLF, &(serial[0]), &outSize)) {
                WideToAnsi(serial, cert->SerialNumber);
                cert->SerialNumber = "0x" + cert->SerialNumber;
            }
        }


Она возращает строку - 0x7FD059000100E521DBA413BB0CDA7FD0590012
Но в крипто про обозначается как 0x120059D07FDA0CBB13A4DB21E500010059D07F

Т.е. строка реверсивная. Но .reverse сделать нельзя так как тогда каждая пара символов будет стоять не в правильном порядке
Так и должно быть и мне вручную эту строку нужно обрабатывать до нужного вида или для этого есть встроеная фукнция?

Отредактировано пользователем 30 октября 2021 г. 15:39:12(UTC)  | Причина: Не указана

Offline TolikTipaTut1  
#2 Оставлено : 29 ноября 2021 г. 18:57:05(UTC)
TolikTipaTut1

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

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 467

Сказал(а) «Спасибо»: 43 раз
Поблагодарили: 69 раз в 61 постах
Как вариант, https://stackoverflow.co...t-string-using-cryptoapi

Отредактировано пользователем 29 ноября 2021 г. 18:59:29(UTC)  | Причина: Не указана

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