IX509CertificateRequestPkcs10 ::InitializeDecode, méthode (certenroll.h)
La méthode InitializeDecode décode une demande de certificat PKCS #10 signée ou non signée existante et l’utilise pour initialiser le nouvel objet de requête PKCS #10. La requête existante est contenue dans un tableau d’octets qui a été encodé à l’aide de Distinguished Encoding Rules (DER) tel que défini par la norme ASN.1 (Abstract Syntax Notation One). Le tableau d’octets est représenté par une chaîne qui est une séquence binaire pure ou est encodée au format Unicode.
Syntaxe
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Paramètres
[in] strEncodedData
Variable BSTR qui contient la requête encodée en DER. Pour plus d'informations, consultez la section Notes.
[in] Encoding
Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode appliqué à la chaîne d’entrée qui contient la requête encodée en DER. La valeur par défaut est XCN_CRYPT_STRING_BASE64.
Valeur retournée
Si la fonction réussit, la fonction retourne S_OK.
Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Code/valeur de retour | Description |
---|---|
|
L’objet de demande de certificat a déjà été initialisé. |
Remarques
La méthode InitializeDecode décode la requête PKCS #10 existante et utilise les informations récupérées pour initialiser les collections suivantes pour le nouvel objet de requête :
- Collection ICryptAttributes vide.
- Collection IX509Extensions vide.
- Collection IObjectIds vide pour les OID d’attribut et d’extension à supprimer de la nouvelle requête.
La méthode également :
- Ajoute les extensions décodées à la collection IX509Extensions .
- Ajoute les attributs décodés à la collection ICryptAttributes .
- Définit la propriété CriticalExtensions avec les extensions critiques décodées.
- Définit la propriété ClientId .
- Définit la propriété TemplateObjectId .
Par défaut, la méthode InitializeDecode suppose que la demande de certificat à décoder est destinée à un utilisateur final. À partir de Windows 8 et Windows Server 2012, vous pouvez modifier ce comportement par défaut. Après avoir créé une instance de l’interface IX509CertificateRequestPkcs10, appelez InitializeDecode en définissant le paramètre Encodingsur XCN_CRYPT_STRING_BINARY et le paramètre strEncodedData sur l’une des valeurs suivantes :
Valeur | Description |
---|---|
L"ContextMachine » | La demande de certificat encodée concerne un ordinateur. |
L"ContextUser » | La demande de certificat encodée est destinée à un utilisateur final. |
L"ContextAdministratorForceMachine » | Le certificat encodé est demandé par un administrateur agissant pour le compte d’un ordinateur. |
Ensuite, appelez à nouveau la méthode InitializeDecode avec le certificat codé défini dans l’argument strEncodedData .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certenroll.h |
DLL | CertEnroll.dll |