Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La méthode InitializeDecode décode un objet de requête PKCS #7 signé ou non signé existant et l’utilise pour initialiser le nouvel objet PKCS #7. La requête existante est contenue dans un tableau d’octets qui a été encodé à l’aide de règles d’encodage unique (DER), comme 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 en Unicode.
Syntaxe
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Paramètres
[in] strEncodedData
Variable BSTR qui contient la requête encodée par DER.
[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 codée par 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 incluent, mais ne sont pas limitées à celles du tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
| Retourner le code/la valeur | Descriptif |
|---|---|
|
L’objet de requête a déjà été initialisé. |
Remarques
Méthode InitializeDecode :
- Décode la requête PKCS #7 spécifiée lors de l’entrée.
- Utilise l’objet décodé pour créer une requête PKCS #10 interne avec les collections suivantes :
- Collection ICryptAttributes vide.
- Collection IX509Extensions vide.
- Collection IObjectIds vide pour les extensions critiques.
- Collection IObjectIds vide pour les OID d’attribut et d’extension à supprimer de la nouvelle requête.
- Ajoute les extensions décodées à la collection IX509Extensions .
- Ajoute les attributs décodés à la collection ICryptAttributes
- Définit la propriété ClientId .
- Définit la propriété TemplateObjectId .
- Utilise la signature sur la requête PKCS #7 d’origine pour créer un objet ISignerCertificate .
- Récupère un objet IX509SignatureInformation à partir de l’objet ISignerCertificate .
- Initialise le nouvel objet IX509SignatureInformation à l’aide des algorithmes de signature et de hachage d’origine.
- Définit la requête PKCS #10 comme objet de requête interne.
Par défaut, la méthode InitializeDecode suppose que la demande de certificat à décoder est destinée à un utilisateur final. À compter de Windows 8 et Windows Server 2012, vous pouvez modifier ce comportement par défaut. Après avoir créé une instance de l’interface IX509CertificateRequestPkcs7 , appelez InitializeDecode en définissant le paramètre Encoding sur XCN_CRYPT_STRING_BINARY et le paramètre strEncodedData sur l’une des valeurs suivantes :
| Valeur | Descriptif |
|---|---|
| L"ContextMachine » | La demande de certificat encodée concerne un ordinateur. |
| L"ContextUser » | La demande de certificat encodée concerne un utilisateur final. |
| L"ContextAdministratorForceMachine » | Le certificat encodé est demandé par un administrateur agissant au nom d’un ordinateur. |
Ensuite, appelez à nouveau la méthode InitializeDecode avec le jeu de certificats encodé dans l’argument strEncodedData .
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Vista [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
| plateforme cible | Fenêtres |
| Header | certenroll.h |
| DLL | CertEnroll.dll |