Поделиться через


структура CTL_CONTEXT (wincrypt.h)

Структура CTL_CONTEXT содержит как закодированные, так и декодированные представления CTL. Он также содержит открытый дескриптор HCRYPTMSG для декодированного криптографически подписанного сообщения, содержащего CTL_INFO в качестве внутреннего содержимого.

Низкоуровневые функции сообщений CryptoAPI можно использовать для извлечения дополнительных сведений о подписывающем.

CTL_CONTEXT, возвращаемые любой функцией CryptoAPI, должны быть освобождены путем вызова функции CertFreeCTLContext.

Синтаксис

typedef struct _CTL_CONTEXT {
  DWORD      dwMsgAndCertEncodingType;
  BYTE       *pbCtlEncoded;
  DWORD      cbCtlEncoded;
  PCTL_INFO  pCtlInfo;
  HCERTSTORE hCertStore;
  HCRYPTMSG  hCryptMsg;
  BYTE       *pbCtlContent;
  DWORD      cbCtlContent;
} CTL_CONTEXT, *PCTL_CONTEXT;

Члены

dwMsgAndCertEncodingType

Используемый тип кодирования. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

В настоящее время определены следующие типы кодирования:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

pbCtlEncoded

Указатель на закодированный CTL.

cbCtlEncoded

Размер закодированного CTL в байтах.

pCtlInfo

Указатель на CTL_INFO структуру содержит сведения о CTL.

hCertStore

Дескриптор хранилища сертификатов.

hCryptMsg

Откройте дескриптор HCRYPTMSG для декодированного сообщения со знаком шифрования, содержащего CTL_INFO в качестве внутреннего содержимого.

pbCtlContent

Закодированное внутреннее содержимое подписанного сообщения.

cbCtlContent

Число pbCtlContent в байтах.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h

См. также раздел

CTL_INFO

CertAddCTLContextToStore

CertAddEncodedCTLToStore

CertCreateCTLContext

CertEnumCTLsInStore

CertFindCTLInStore

CertFindSubjectInCTL

CertFreeCTLContext

CryptMsgGetAndVerifySigner

CryptMsgSignCTL