Metodo IX509CertificateRequestPkcs10::get_CspStatuses (certenroll.h)

La proprietà CspStatuses recupera una raccolta di oggetti ICspStatus che corrispondono all'uso previsto della chiave privata associata alla richiesta di certificato.

Questa proprietà è di sola lettura.

Sintassi

HRESULT get_CspStatuses(
  ICspStatuses **ppValue
);

Parametri

ppValue

Valore restituito

nessuno

Osservazioni

Questa proprietà recupera un insieme di oggetti ICspStatus . Ogni oggetto rappresenta una singola coppia provider/algoritmo. La proprietà CspStatuses differisce dal metodo GetCspStatuses . Il metodo consente di impostare un parametro KeySpec , ma CspStatuses usa la proprietà KeySpec impostata sulla chiave privata associata all'oggetto IX509CertificateRequestPkcs10 . Questo può essere uno dei valori seguenti.

Valore Descrizione
XCN_AT_NONE Vengono selezionati solo l'API di crittografia: i provider CNG (Next Generation).
XCN_AT_KEYEXCHANGE Vengono selezionati solo i provider di servizi crittografici CryptoAPI con algoritmi di crittografia (incluso lo scambio di chiavi).
XCN_AT_SIGNATURE Vengono selezionati solo provider di servizi crittografici CryptoAPI con algoritmi di firma.
 

Se si specifica un modello durante l'inizializzazione dell'oggetto richiesta, gli attributi del modello, ad esempio pKIDefaultCSPs e pKIDefaultKeySpec influiscono inizialmente sulle coppie provider/algoritmo abilitate inizialmente nella raccolta. È possibile chiamare le proprietà seguenti in ogni oggetto ICspStatus per recuperare informazioni su una coppia:

  • La proprietà CspInformation recupera le informazioni sul provider.
  • La proprietà CspAlgorithm recupera le informazioni sull'algoritmo.
  • La proprietà EnrollmentStatus recupera un oggetto IX509EnrollmentStatus . Chiamare la proprietà Selected nell'oggetto stato per determinare se la coppia provider/algoritmo è abilitata per questa richiesta.
  • La proprietà Ordinal recupera la posizione nella raccolta della coppia provider/algoritmo.

L'insieme recuperato da questo metodo viene salvato internamente nell'oggetto request. L'insieme esiste purché l'oggetto PKCS #10 continui a esistere.

Si supponga, ad esempio, che la proprietà KeySpec sulla chiave privata associata all'oggetto request sia impostata su XCN_AT_SIGNATURE e che un modello venga usato per inizializzare la richiesta. Le istruzioni seguenti saranno vere:

  • Viene creata e salvata una raccolta di oggetti ICspStatus nell'oggetto IX509CertificateRequestPkcs10 . La raccolta contiene tutte le coppie provider/algoritmo valide installate nel computer.
  • Poiché la proprietà KeySpec non è impostata su XCN_AT_NONE, la proprietà Selected è impostata su SelectedNo per ogni API di crittografia: provider/algoritmo CNG (Next Generation) nella raccolta.
  • Poiché la proprietà KeySpec non è impostata su XCN_AT_KEYEXCHANGE, la proprietà Selected è impostata su SelectedNo per ogni coppia di CSP/algoritmo CryptoAPI nella raccolta in cui l'algoritmo può essere usato solo per crittografare i dati o archiviare una chiave.
  • Per ogni provider a cui fa riferimento il modello o la chiave privata ma non è supportata nel computer, viene creato un oggetto ICspStatus segnaposto e aggiunto all'insieme e la proprietà Selected è impostata su SelectedNo .
  • La proprietà Selected è impostata su SelectedYes per ogni coppia CSP/algoritmo CryptoAPI in cui l'algoritmo può essere usato solo per firmare i dati.
  • La proprietà Ordinal è impostata per riflettere l'ordine CSP, se presente, identificato dall'attributo modello pKIDefaultCSPs . I provider di servizi di configurazione elencati prima dall'attributo vengono ordinati prima nella raccolta. Questa proprietà viene usata durante la registrazione se deve essere creata una chiave privata. La prima coppia CSP/algoritmo selezionata viene usata per creare la chiave, ma se l'operazione ha esito negativo, viene tentata la coppia selezionata successiva.

È necessario inizializzare l'oggetto IX509CertificateRequestPkcs10 prima di chiamare questo metodo. Per altre informazioni, vedere uno dei metodi seguenti:

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certenroll.h
DLL CertEnroll.dll

Vedi anche

ICspAlgorithm

ICspAlgorithms

ICspInformation

ICspInformations

ICspStatus

IX509CertificateRequestPkcs10