MÉTHODE IX509PublicKey ::get_EncodedParameters (certenroll.h)
La propriété EncodedParameters récupère un tableau d’octets qui contient les paramètres associés à l’algorithme de clé publique . Le tableau d’octets est représenté par une chaîne encodée unicode.
Cette propriété est en lecture seule.
Syntaxe
HRESULT get_EncodedParameters(
EncodingType Encoding,
BSTR *pValue
);
Paramètres
Encoding
pValue
Valeur de retour
None
Remarques
Appelez la méthode InitializeFromEncodedPublicKeyInfo ou la méthode Initialize pour initialiser l’objet de clé publique avant d’appeler cette propriété.
L’objet AlgorithmIdentifier Abstract Syntax Notation One (ASN.1) référencé par l’objet SubjectPublicKeyInfo dans un certificat X.509 version 3 contient un identificateur d’objet d’algorithme (OID) et des paramètres facultatifs.
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Le format et le contenu des paramètres diffèrent selon l’algorithme. Le contrôle d’inscription de certificat génère des valeurs de paramètre pour différents algorithmes en fonction des besoins. Pour plus d'informations, consultez les sections suivantes :
- Algorithme de clé publique RSA
- Transport de clé à l’aide de RSA-OAEP
- Contrat clé utilisant ECDH
- Chiffrement de contenu à l’aide d’AES
Algorithme de clé publique RSA
RSA est souvent utilisé pour chiffrer une clé privée et l’envoyer à une autorité de certification à des fins d’archivage. L’OID de l’algorithme XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) doit avoir une valeur de paramètre NULL . La valeur NULL ASN.1 est représentée par deux octets. Le numéro de l’étiquette est 0x05 et la valeur associée à la balise est 0x00. Cela est illustré par l’exemple de certificat suivant.
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_KEYX)
Algorithm Parameters:
05 00
...
Transport de clé à l’aide de RSA-OAEP
L’algorithme RSA-OAEP, XCN_OID_RSAES_OAEP (1.2.840.113549.1.1.7), est également pris en charge pour le transport de clé. Le champ parameters a la syntaxe suivante.
RSAES-OAEP-params ::= SEQUENCE
{
hashFunc [0] AlgorithmIdentifier DEFAULT sha1OID,
maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1OID,
pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmptyOID
}
Contrat clé utilisant ECDH
L’algorithme de courbe elliptique à passage unique Diffie-Hellman, XCN_OID_DH_SINGLE_PASS_STDDH_SHA1_KDF (1.3.133.16.840.63.0.2), est pris en charge pour l’accord clé. Le contrat de clé utilise deux niveaux de chiffrement :- Le message est chiffré à l’aide d’une clé de chiffrement de contenu (CEK) et d’un algorithme de chiffrement symétrique .
- La clé CEK est chiffrée (encapsulée) à l’aide d’une clé de chiffrement à clé symétrique (KEK).
- XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.)
- XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
- XCN_OID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- XCN_OID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- XCN_OID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
Chiffrement de contenu à l’aide d’AES
La norme AES (Advanced Encryption Standard) est utilisée pour chiffrer le contenu. Les algorithmes suivants sont pris en charge :- XCN_OID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
- XCN_OID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
- XCN_OID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
AES-IV ::= OCTET STRING (SIZE(16))
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 |