КриптоПро TSP SDK: Низкоуровневый интерфейс

Класс CRequest

Запрос на штамп времени (RFC 3161, раздел 2.4.1). Подробнее...

#include <tsp.h>

Полный список членов класса

Открытые члены

 CRequest (const ASN1::CAlgorithmIdentifierEx &hashAlgorithm, const CBlob &hashedMessage, bool certReq=false)
 Создает и инициализирует объект.
 CRequest ()
 Создает пустой объект.
 CRequest (const CRequest &src)
 Создает копию заданного объекта.
CRequestoperator= (const CRequest &src)
 Копирует заданный объект в текущий.
 ~CRequest ()
 Уничтожает объект.
DWORD get_version () const
 Возвращает версию запроса.
const ASN1::CAlgorithmIdentifierEx & get_hashAlgorithm () const
 Возвращает алгоритм хэша, использованного при хэшировании данных.
const CBlob & get_hashedMessage () const
 Возвращает значение хэша данных, на которые получается штамп времени.
bool get_certReq () const
 Возвращает значение флага certReq.
const char * get_reqPolicy () const
 Возвращает запрашиваемую политику штампов времени.
const ASN1::CBigInteger * get_nonce () const
 Возвращает поле nonce запроса на штамп времени.
const ASN1::CExtensions * get_extensions () const
 Возвращает список расшрений вложенных в запрос.
void put_reqPolicy (const char *reqPolicy)
 Установливает запрашиваемую политику штампов времени.
void put_nonce (const ASN1::CBigInteger *nonce)
 Установливает значение поля nonce.
void put_extensions (const ASN1::CExtensions *extensions)
 Вкладывает расширения в запрос на штамп времени.
CBlob encode () const
 Кодирует запрос в ASN.1 DER представление.
void decode (const CBlob &encodedRequest)
 Декодирует запроса из его закодированного ASN.1 DER представления.


Подробное описание

Запрос на штамп времени (RFC 3161, раздел 2.4.1).

Класс CRequest инкапсулирует запрос на получение штампа времени. Используется для создания, кодирования и декодирования из ASN.1 DER представления запроса на штамп времени.

Запрос содержит версию (не устанавливается), хэш и алгоритм хэша данных, на которые выдается штамп времени (hashAlgorithm, hashedMessage). Опциональными полями являются:


Конструктор(ы)

CRequest const ASN1::CAlgorithmIdentifierEx &  hashAlgorithm,
const CBlob &  hashedMessage,
bool  certReq = false
 

Создает и инициализирует объект.

В конструкторе задаются только обязательные атрибуты запроса.

Аргументы:
hashAlgorithm [in] алгоритм хэша
hashedMessage [in] хэш данных для которых запрашивается штамп времени
certReq [in] флаг, определяющий нужно ли включать сертификат службы штампов времени в ответ на запрос

CRequest const CRequest src  ) 
 

Создает копию заданного объекта.

Аргументы:
src [in] объект, копия которого создается


Методы

void decode const CBlob &  encodedRequest  ) 
 

Декодирует запроса из его закодированного ASN.1 DER представления.

Аргументы:
encodedRequest [in] блок данных содержащий закодированное der-представление запроса на штамп времени

CBlob encode  )  const
 

Кодирует запрос в ASN.1 DER представление.

Возвращает:
блок данных содержащий закодированное представление запроса на штамп времени

bool get_certReq  )  const
 

Возвращает значение флага certReq.

Прим.:
Флаг certReq говорит о том, нужно ли вкладывать сертификат, который будет использоваться для подписи штампа времени в штамп времени. Если он имеет значение false, сертификат не должен вкладываться в штамп, если true - должен.
Возвращает:
true или false

const ASN1::CExtensions* get_extensions  )  const
 

Возвращает список расшрений вложенных в запрос.

Возвращает:
Указатель на список расширений
Прим.:
Опциональное поле. Если возвращаеся NULL, то данное поле не заполнено и отсутствует.

const ASN1::CAlgorithmIdentifierEx& get_hashAlgorithm  )  const
 

Возвращает алгоритм хэша, использованного при хэшировании данных.

Возвращает:
Идентификатор алгоритма

const CBlob& get_hashedMessage  )  const
 

Возвращает значение хэша данных, на которые получается штамп времени.

Возвращает:
Блок данных, содержащий значение хэша

const ASN1::CBigInteger* get_nonce  )  const
 

Возвращает поле nonce запроса на штамп времени.

Возвращает:
Указатель на объект, представляющий большое целое число
Прим.:
Опциональное поле. Если возвращаеся NULL, то данное поле не заполнено и отсутствует.

const char* get_reqPolicy  )  const
 

Возвращает запрашиваемую политику штампов времени.

Возвращает:
Указатель на OID.
Прим.:
Опциональное поле. Если возвращаеся NULL, то данное поле не заполнено и отсутствует.

DWORD get_version  )  const
 

Возвращает версию запроса.

Возвращает:
Номер версии

CRequest& operator= const CRequest src  ) 
 

Копирует заданный объект в текущий.

Аргументы:
src [in] объект, который копируется в текущий
Возвращает:
Ссылка на текущий объект.

void put_extensions const ASN1::CExtensions *  extensions  ) 
 

Вкладывает расширения в запрос на штамп времени.

Аргументы:
extensions [in] указатель на список расширений
Прим.:
Опциональное поле. Если аргумент NULL, то данное поле становится не заполненным и отсутствует в запросе.

void put_nonce const ASN1::CBigInteger *  nonce  ) 
 

Установливает значение поля nonce.

Аргументы:
nonce [in] указатель объект, представляющий большое целое число
Прим.:
Опциональное поле. Если аргумент NULL, то данное поле становится не заполненным и отсутствует в запросе.

void put_reqPolicy const char *  reqPolicy  ) 
 

Установливает запрашиваемую политику штампов времени.

Аргументы:
reqPolicy [in] указатель на OID политики
Прим.:
Опциональное поле. Если аргумент NULL, то данное поле становится не заполненным и отсутствует в запросе.