Funzione CertSetCRLContextProperty (wincrypt.h)
La funzione CertSetCRLContextProperty imposta una proprietà estesa per il contesto di revoche di certificati specificato.
Sintassi
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Parametri
[in] pCrlContext
Puntatore alla struttura CRL_CONTEXT .
[in] dwPropId
Identifica la proprietà da impostare. Il valore dwPropId determina il tipo e il contenuto del parametro pvData . Gli identificatori attualmente definiti e il tipo di dati da restituire in pvData sono elencati nella tabella seguente.
In genere, vengono impostate solo le proprietà seguenti:
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
Valore | Significato |
---|---|
|
Tipo di dati per pvData: puntatore a una DWORD
Imposta un valore DWORD che indica se le operazioni di scrittura sul certificato vengono mantenute. Il valore DWORD non è impostato se il certificato si trova in un archivio di memoria o in un archivio basato sul Registro di sistema aperto come di sola lettura. |
|
Tipo di dati per pvData: NULL
Indica che il certificato viene ignorato durante le enumerazioni. Un certificato con questo set di proprietà viene trovato con operazioni di ricerca esplicite, ad esempio quelle usate per trovare un certificato con un hash specifico o un numero di serie. Nessun dato in pvData è associato a questa proprietà. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta una stringa Unicode con terminazione null che denomina il tipo di certificato per cui è stato registrato automaticamente il certificato. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta una matrice di byte contenente una struttura astratta notazione 1 (ASN.1) codificata CTL_USAGE . |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta la proprietà visualizzata dall'interfaccia utente del certificato. Questa proprietà consente all'utente di descrivere l'uso del certificato. |
|
Tipo di dati per pvData: Imposta una matrice di byte contenente una struttura di CERT_ENHKEY_USAGE con codifica ASN.1. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta una stringa di caratteri Unicode con terminazione null contenente il nome visualizzato per la CRL. |
|
Tipo di dati per pvData: puntatore a una struttura CRYPT_DATA_BLOB .
Imposta una stringa contenente un set di algoritmi di chiave pubblica L"<PUBKEY>/<BITLENGTH>" e coppie di lunghezza bit. Il punto e virgola L";", viene usato come delimitatore. Il valore PUBKEY> identifica l'algoritmo< di chiave pubblica CNG. Sono supportati gli algoritmi seguenti:
Nota Questa proprietà non deve essere impostata per un certificato di firma OCSP delegato. Un certificato del firmatario delegato viene firmato con la stessa chiave usata per firmare il certificato soggetto e viene controllato.
: L"RSA/2048; RSA/4096" |
|
Tipo di dati per pvData: puntatore a una struttura CRYPT_DATA_BLOB .
Imposta una stringa che contiene un set di coppie di algoritmi L"<SIGNATURE>/<HASH>". Il punto e virgola L";", viene usato come delimitatore tra coppie. Questa proprietà viene impostata solo quando una risposta OCSP viene convertita in un CRL. Per un certificato di firma OCSP delegato, viene restituita solo la coppia di algoritmi per il certificato del firmatario. Per una catena di certificati di firma OCSP indipendente, viene restituita una coppia di algoritmi per ogni certificato nella catena esclusa dalla radice. Il <valore SIGNATURE> identifica l'algoritmo di chiave pubblica CNG. Sono supportati gli algoritmi seguenti:
|
|
Tipo di dati per pvData: puntatore a una struttura CRYPT_DATA_BLOB .
Imposta la lunghezza, in bit, della chiave pubblica nel certificato dell'autorità di certificazione CRL. Questa proprietà è applicabile anche a un OCSP convertito in un CRL. Questa proprietà viene impostata in modo esplicito dalle funzioni di revoca di verifica. Windows 8 e Windows Server 2012: viene avviato il supporto per questa proprietà. |
|
Tipo di dati per pvData: puntatore a un CERT_KEY_CONTEXT
Imposta una struttura CERT_KEY_CONTEXT . |
|
Tipo di dati per pvData: puntatore a una matrice BYTE |
|
Tipo di dati per pvData: puntatore a un HCRYPTPROV
Imposta l'handle del provider ottenuto dall'CERT_KEY_CONTEXT_PROP_ID. |
|
Tipo di dati per pvData: puntatore a un CRYPT_KEY_PROV_INFO
Imposta un puntatore su una struttura CRYPT_KEY_PROV_INFO . |
|
Tipo di dati per pvData: puntatore a una DWORD
Imposta un valore DWORD che specifica la chiave privata ottenuta dalla proprietà CERT_KEY_CONTEXT_PROP_ID se presente. In caso contrario, se CERT_KEY_PROV_INFO_PROP_ID esiste, è l'origine di dwKeySpec. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta l'hash MD5. È possibile calcolare l'hash usando la funzione CryptHashCertificate . |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta la struttura di CERT_ALT_NAME_INFO con codifica ASN.1 in un elenco di scopi consentiti. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta una stringa di caratteri Unicode con terminazione Null, wide che specifica il nome del file che contiene la chiave privata associata alla chiave pubblica del certificato. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta l'hash SHA1. È possibile calcolare l'hash usando CryptHashCertificate. |
|
Tipo di dati pvData: puntatore a una struttura CRYPT_DATA_BLOB .
Imposta la stringa L"<SIGNATURE>/<HASH>" che rappresenta la firma del certificato. Il <valore SIGNATURE> identifica l'algoritmo di chiave pubblica CNG. Sono supportati gli algoritmi seguenti:
Questa proprietà viene impostata in modo esplicito dalle funzioni di revoca di verifica. Windows 8 e Windows Server 2012: inizia il supporto per questa proprietà. |
|
Tipo di dati per pvData: puntatore a una matrice BYTE Imposta l'hash della firma. Se l'hash non esiste, viene calcolato con CryptHashToBeSigned. La lunghezza dell'hash è di 20 byte per SHA e 16 per MD5. |
L'utente può definire tipi dwPropId aggiuntivi usando valori DWORD da CERT_FIRST_USER_PROP_ID a CERT_LAST_USER_PROP_ID. Per tutti i tipi dwPropId definiti dall'utente, pvData punta a un CRYPT_DATA_BLOB codificato.
Per tutti gli altri identificatori di proprietà, pvData punta a una struttura CRYPT_DATA_BLOB codificata.
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAG può essere impostato per le proprietà CERT_KEY_PROV_HANDLE_PROP_ID o CERT_KEY_CONTEXT_PROP_ID dwPropId .
Se il valore CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG è impostato, tutti gli errori di scrittura del provider vengono ignorati e le proprietà del contesto memorizzato nella cache vengono sempre impostate.
Se la CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG è impostata, qualsiasi set di proprietà non viene salvato in modo permanente.
[in] pvData
Puntatore a un tipo di dati determinato dal valore passato in dwPropId.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE.
Se la funzione ha esito negativo, il valore restituito è FALSE. Per informazioni sugli errori estesi, chiamare GetLastError. Un possibile codice di errore è il seguente.
Codice restituito | Descrizione |
---|---|
|
La proprietà non è valida. L'identificatore specificato è maggiore di 0x0000FFFF oppure, per la proprietà CERT_KEY_CONTEXT_PROP_ID, è stato specificato un membro cbSize non valido nella struttura CERT_KEY_CONTEXT . |
Commenti
Se esiste già una proprietà, il valore precedente viene sostituito.
Esempio
Per un esempio che usa questa funzione, vedere Esempio di programma C: Recupero e impostazione delle proprietà del certificato.
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 |