Metodo IX509CertificateRequestPkcs10::InitializeDecode (certenroll.h)
Il metodo InitializeDecode decodifica una richiesta di certificato PKCS #10 firmata o non firmata e la usa per inizializzare il nuovo oggetto richiesta PKCS #10. La richiesta esistente è contenuta in una matrice di byte codificata usando Distinguished Encoding Rules (DER) come definito dallo standard ASN.1 (Abstract Syntax Notation One). La matrice di byte è rappresentata da una stringa che è una sequenza binaria pura o è codificata in Unicode.
Sintassi
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Parametri
[in] strEncodedData
Variabile BSTR che contiene la richiesta con codifica DER. Per altre informazioni, vedere la sezione Osservazioni.
[in] Encoding
Valore di enumerazione EncodingType che specifica il tipo di codifica Unicode applicata alla stringa di input che contiene la richiesta con codifica DER. Il valore predefinito è XCN_CRYPT_STRING_BASE64.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce S_OK.
Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Codice/valore restituito | Descrizione |
---|---|
|
L'oggetto richiesta certificato è già stato inizializzato. |
Commenti
Il metodo InitializeDecode decodifica la richiesta PKCS #10 esistente e usa le informazioni recuperate per inizializzare le raccolte seguenti per il nuovo oggetto richiesta:
- Insieme ICryptAttributes vuoto.
- Insieme IX509Extensions vuoto.
- Insieme IObjectIds vuoto per gli OID di attributo e estensione da eliminare dalla nuova richiesta.
Il metodo inoltre:
- Aggiunge le estensioni decodificate all'insieme IX509Extensions .
- Aggiunge gli attributi decodificati all'insieme ICryptAttributes .
- Imposta la proprietà CriticalExtensions con le estensioni critiche decodificate.
- Imposta la proprietà ClientId .
- Imposta la proprietà TemplateObjectId .
Per impostazione predefinita, il metodo InitializeDecode presuppone che la richiesta di certificato da decodificare sia per un utente finale. A partire da Windows 8 e Windows Server 2012, è possibile modificare questo comportamento predefinito. Dopo aver creato un'istanza dell'interfaccia IX509CertificateRequestPkcs10 , chiamare InitializeDecode impostando il parametro Encoding su XCN_CRYPT_STRING_BINARY e il parametro strEncodedData su uno dei valori seguenti:
Valore | Descrizione |
---|---|
L"ContextMachine" | La richiesta di certificato codificato è per un computer. |
L"ContextUser" | La richiesta di certificato codificata è destinata a un utente finale. |
L"ContextAdministratorForceMachine" | Il certificato codificato viene richiesto da un amministratore che agisce per conto di un computer. |
Chiamare quindi di nuovo il metodo InitializeDecode con il certificato codificato impostato nell'argomento strEncodedData .
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 |