Metodo IX509PublicKey::get_EncodedParameters (certenroll.h)
La proprietà EncodedParameters recupera una matrice di byte che contiene i parametri associati all'algoritmo di chiave pubblica . La matrice di byte è rappresentata da una stringa con codifica Unicode.
Questa proprietà è di sola lettura.
Sintassi
HRESULT get_EncodedParameters(
EncodingType Encoding,
BSTR *pValue
);
Parametri
Encoding
pValue
Valore restituito
nessuno
Osservazioni
Chiamare il metodo InitializeFromEncodedPublicKeyInfo o il metodo Initialize per inizializzare l'oggetto chiave pubblica prima di chiamare questa proprietà.
Oggetto AlgorithmIdentifier Abstract Syntax Notation One (ASN.1) a cui fa riferimento l'oggetto SubjectPublicKeyInfo in un certificato X.509 versione 3 contiene un identificatore di oggetto algoritmo (OID) e parametri facoltativi.
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Il formato e il contenuto dei parametri differiscono dall'algoritmo. Il controllo registrazione certificati genera i valori dei parametri per vari algoritmi in base alle esigenze. Per altre informazioni, vedere le sezioni seguenti:
- Algoritmo di chiave pubblica RSA
- Trasporto chiave con RSA-OAEP
- Contratto chiave con ECDH
- Crittografia del contenuto tramite AES
Algoritmo di chiave pubblica RSA
RSA viene spesso usato per crittografare una chiave privata e inviarla a un'autorità di certificazione (CA) per l'archiviazione. L'algoritmo XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) deve avere un valore di parametro NULL . Il valore ASN.1 NULL è rappresentato da due byte. Il numero di tag è 0x05 e il valore associato al tag è 0x00. Questo è illustrato dall'esempio di certificato seguente.
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_KEYX)
Algorithm Parameters:
05 00
...
Trasporto chiave con RSA-OAEP
L'algoritmo RSA-OAEP, XCN_OID_RSAES_OAEP (1.2.840.113549.1.1.7), è supportato anche per il trasporto delle chiavi. Il campo parametri ha la sintassi seguente.
RSAES-OAEP-params ::= SEQUENCE
{
hashFunc [0] AlgorithmIdentifier DEFAULT sha1OID,
maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1OID,
pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmptyOID
}
Contratto chiave con ECDH
L'algoritmo Elliptic Curve Diffie-Hellman, XCN_OID_DH_SINGLE_PASS_STDDH_SHA1_KDF (1.3.133.16.840.63.0.2), è supportato per il contratto chiave. Il contratto chiave usa due livelli di crittografia:- Il messaggio viene crittografato usando una chiave di crittografia del contenuto (CEK) e un algoritmo di crittografia simmetrica .
- CeK viene crittografato (wrapped) usando una chiave di crittografia della chiave simmetrica (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)
Crittografia del contenuto tramite AES
L'AES (Advanced Encryption Standard) viene usato per crittografare il contenuto. Sono supportati gli algoritmi seguenti:- 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))
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 |