Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il metodo InitializeDecode decodifica una richiesta di certificato PKCS #10 firmata o non firmata esistente e la usa per inizializzare il nuovo oggetto richiesta PKCS #10. La richiesta esistente è contenuta in una matrice di byte codificata usando le regole di codifica distinte (DER) definite 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 Note.
[in] Encoding
Valore di enumerazione EncodingType che specifica il tipo di codifica Unicode applicato alla stringa di input contenente 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 solo, quelli nella tabella seguente. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
| Codice/valore restituito | Description |
|---|---|
|
L'oggetto richiesta certificato è già stato inizializzato. |
Osservazioni:
Il metodo InitializeDecode decodifica la richiesta PKCS #10 esistente e usa le informazioni recuperate per inizializzare le raccolte seguenti per il nuovo oggetto richiesta:
- Raccolta ICryptAttributes vuota.
- Insieme IX509Extensions vuoto.
- Raccolta IObjectIds vuota per gli ID di attributo e estensione da eliminare dalla nuova richiesta.
Il metodo è anche:
- 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:
| Value | Description |
|---|---|
| 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 | Value |
|---|---|
| Client minimo supportato | Windows Vista [solo app desktop] |
| Server minimo supportato | Windows Server 2008 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Header | certenroll.h |
| DLL | CertEnroll.dll |