Funzione CertFindSubjectInCTL (wincrypt.h)

La funzione CertFindSubjectInCTL tenta di trovare l'oggetto specificato in un elenco di attendibilità certificato (CTL). Un soggetto può essere identificato dall'intero contesto del certificato o da qualsiasi identificatore univoco del soggetto del certificato, ad esempio l'hash SHA1 dell'autorità emittente del certificato e il numero di serie.

Sintassi

PCTL_ENTRY CertFindSubjectInCTL(
  [in] DWORD         dwEncodingType,
  [in] DWORD         dwSubjectType,
  [in] void          *pvSubject,
  [in] PCCTL_CONTEXT pCtlContext,
  [in] DWORD         dwFlags
);

Parametri

[in] dwEncodingType

Specifica il tipo di codifica usato. Attualmente vengono usati solo X509_ASN_ENCODING e PKCS_7_ASN_ENCODING; Tuttavia, è possibile aggiungere altri tipi di codifica in futuro. Per entrambi i tipi di codifica correnti, usare:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] dwSubjectType

Specifica il tipo di oggetto da cercare nel CTL. Può essere NULL per una ricerca predefinita.

Valore Significato
CTL_CERT_SUBJECT_TYPE
tipo di dati pvSubject: puntatore a una struttura CERT_CONTEXT.

Il soggetto di CTLAlgorithm viene esaminato per determinare la rappresentazione dell'identità del soggetto. Inizialmente, solo gli hash SHA1 e MD5 sono supportati come valori per SubjectAlgorithm. La proprietà hash appropriata viene ottenuta dalla struttura CERT_CONTEXT .

CTL_ANY_SUBJECT_TYPE
tipo di dati pvSubject: puntatore a una struttura CTL_ANY_SUBJECT_INFO.

Il membro SubjectAlgorithm di questa struttura deve corrispondere al tipo di algoritmo del CTL e il membro SubjectIdentifier deve corrispondere a una delle voci CTL.

 

L'hash del certificato o il membro SubjectIdentifier della struttura CTL_ANY_SUBJECT_INFO viene utilizzata come chiave nella ricerca delle voci dell'oggetto. Viene eseguito un confronto di memoria binaria tra la chiave e l'oggetto SubjectIdentifier della voce.

Se dwSubjectType è impostato su entrambi i valori precedenti, dwEncodingType non viene usato.

[in] pvSubject

Puntatore usato insieme al parametro dwSubjectType .

[in] pCtlContext

Puntatore alla struttura di CTL_CONTEXT eseguita la ricerca.

[in] dwFlags

Riservato per l'uso futuro e deve essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è la voce, se viene trovata.

Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni sull'errore estese, chiamare GetLastError. Alcuni codici di errore possibili seguono.

Codice restituito Descrizione
CRYPT_E_NOT_FOUND
Il soggetto non è stato trovato nel CTL.
E_INVALIDARG
Il parametro dwSubjectType non è stato CTL_CERT_SUBJECT_TYPE o CTL_ANY_SUBJECT_TYPE.
NTE_BAD_ALGID
Il membro SubjectAlgorithm di CTL non è stato mappato a SHA1 o MD5.

Commenti

L'hash del certificato o il membro SubjectIdentifier della struttura CTL_ANY_SUBJECT_INFO viene utilizzata come chiave nella ricerca delle voci del soggetto. Viene eseguito un confronto di memoria binaria tra la chiave e l'oggetto SubjectIdentifier della voce.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

Funzioni di manutenzione dell'archivio certificati e certificato