CTL_CONTEXT Struktur (wincrypt.h)

Die CTL_CONTEXT-Struktur enthält sowohl die codierten als auch die decodierten Darstellungen einer CTL. Es enthält auch ein geöffnetes HCRYPTMSG-Handle für die decodierte, kryptografisch signierte Nachricht, die die CTL_INFO als inneren Inhalt enthält.

CryptoAPI-Nachrichtenfunktionen auf niedriger Ebene können verwendet werden, um zusätzliche Signerinformationen zu extrahieren.

Eine von einer CryptoAPI-Funktion zurückgegebene CTL_CONTEXT muss durch Aufrufen der CertFreeCTLContext-Funktion freigegeben werden.

Syntax

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;

Member

dwMsgAndCertEncodingType

Verwendeter Codierungstyp. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

pbCtlEncoded

Ein Zeiger auf die codierte CTL.

cbCtlEncoded

Die Größe der codierten CTL in Bytes.

pCtlInfo

Ein Zeiger auf CTL_INFO Struktur die CTL-Informationen enthält.

hCertStore

Ein Handle für den Zertifikatspeicher.

hCryptMsg

Öffnen Sie HCRYPTMSG-Handle für eine decodierte, kryptografisch signierte Nachricht, die die CTL_INFO als inneren Inhalt enthält.

pbCtlContent

Der codierte innere Inhalt der signierten Nachricht.

cbCtlContent

Anzahl von pbCtlContent in Bytes.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile wincrypt.h

Weitere Informationen

CTL_INFO

CertAddCTLContextToStore

CertAddEncodedCTLToStore

CertCreateCTLContext

CertEnumCTLsInStore

CertFindCTLInStore

CertFindSubjectInCTL

CertFreeCTLContext

CryptMsgGetAndVerifySigner

CryptMsgSignCTL