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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline lesha_red  
#1 Оставлено : 26 февраля 2026 г. 12:55:27(UTC)
lesha_red

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
В Linux сборке КриптоПро 5.0.13700 пропала либа libades-core.so, раньше она был в пакете cprocsp-pki-cades.

Из этой библиотеки я использовал метод CDateTime.getTime() для получения времени из штампа времени. Теперь этот метод только в cprocsp-legacy пакете?
Offline Русев Андрей  
#2 Оставлено : 26 февраля 2026 г. 15:49:18(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,599

Сказал(а) «Спасибо»: 47 раз
Поблагодарили: 685 раз в 471 постах
Здравствуйте.
Настоятельно не рекомендуем использовать объектные (C++) интерфейсы во избежание потенциальных проблем. ades-core была внутренней библиотекой, не предназначенной для использования в сторонних проектах. Для разбора штампов и OCSP предлагаем использовать CryptDecodeObject: OCSP_SIGNED_REQUEST, OCSP_REQUEST, OCSP_RESPONSE, OCSP_BASIC_SIGNED_RESPONSE, OCSP_BASIC_RESPONSE, TIMESTAMP_REQUEST, TIMESTAMP_RESPONSE, TIMESTAMP_INFO. Судя по вопросу вам нужно сконвертировать в time_t время из другого типа. Из какого? Для FILETIME и Яндекс подскажет:
Код:
time_t filetime_to_timet(const FILETIME& ft) {
    ULARGE_INTEGER ull;
    ull.LowPart = ft.LowPart;
    ull.HighPart = ft.HighPart;
    return ull.QuadPart / 10000000ULL - 11644473600ULL;
}
Официальная техподдержка. Официальная база знаний.
Offline lesha_red  
#3 Оставлено : 26 февраля 2026 г. 16:46:13(UTC)
lesha_red

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
Спасибо за ответ. У меня используется libtsp для проверки штампа времени, и потом из штампа я получаю время в time_t:

Код:
std::vector<unsigned char> timestamp; // Здесь содержится штамп времени из подписи в бинарном виде

CryptoPro::PKI::TSP::Client::CStamp stamp;
stamp.Import(&timestamp[0], timestamp.size());
DWORD dwError = stamp.Verify();


if (ERROR_SUCCESS == dwError) {
    time_t outputTime = stamp.get_Time().getTime();

// Здесь stamp.get_Time() возвращает объект класса CDateTime. Чтобы получить из него время time_t,
// нужно вызвать CDatetime::getTime(), реализация которого раньше была в libades-core.so,
// а теперь пропала
}



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