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:
- InizializzaDecode
- InitializeFromCertificate
- InitializeFromPrivateKey
- InitializeFromPublicKey
- InitializeFromTemplateName
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 |