Método IX509PublicKey::get_EncodedParameters (certenroll.h)
A propriedade EncodedParameters recupera uma matriz de bytes que contém os parâmetros associados ao algoritmo de chave pública . A matriz de bytes é representada por uma cadeia de caracteres codificada em Unicode.
Esta propriedade é somente para leitura.
Sintaxe
HRESULT get_EncodedParameters(
EncodingType Encoding,
BSTR *pValue
);
Parâmetros
Encoding
pValue
Valor retornado
Nenhum
Comentários
Chame o método InitializeFromEncodedPublicKeyInfo ou o método Initialize para inicializar o objeto de chave pública antes de chamar essa propriedade.
O objeto AlgorithmIdentifier Abstract Syntax Notation One (ASN.1) referenciado pelo objeto SubjectPublicKeyInfo em um certificado X.509 versão 3 contém um OID ( identificador de objeto de algoritmo) e parâmetros opcionais.
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
O formato e o conteúdo dos parâmetros diferem por algoritmo. O Controle de Registro de Certificado gera valores de parâmetro para vários algoritmos, conforme necessário. Para obter mais informações, consulte as seções a seguir:
- Algoritmo de chave pública RSA
- Transporte de chave usando RSA-OAEP
- Acordo-chave usando ECDH
- Criptografia de conteúdo usando a AES
Algoritmo de chave pública RSA
A RSA geralmente é usada para criptografar uma chave privada e enviá-la a uma AC (autoridade de certificação ) para arquivamento. O algoritmo XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) deve ter um valor de parâmetro NULL . O valor NULL ASN.1 é representado por dois bytes. O número da marca é 0x05 e o valor associado à marca é 0x00. Isso é mostrado pelo exemplo de certificado a seguir.
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_KEYX)
Algorithm Parameters:
05 00
...
Transporte de chave usando RSA-OAEP
O algoritmo RSA-OAEP, XCN_OID_RSAES_OAEP (1.2.840.113549.1.1.7), também tem suporte para transporte de chaves. O campo de parâmetros tem a sintaxe a seguir.
RSAES-OAEP-params ::= SEQUENCE
{
hashFunc [0] AlgorithmIdentifier DEFAULT sha1OID,
maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1OID,
pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmptyOID
}
Acordo-chave usando ECDH
O algoritmo de Diffie-Hellman curva elíptica de passagem única, XCN_OID_DH_SINGLE_PASS_STDDH_SHA1_KDF (1.3.133.16.840.63.0.2), é compatível com o contrato-chave. O contrato de chave usa dois níveis de criptografia:- A mensagem é criptografada usando uma CEK (chave de criptografia de conteúdo) e um algoritmo de criptografia simétrica .
- O CEK é criptografado (encapsulado) usando uma KEK (chave de criptografia de chave simétrica ).
- 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)
Criptografia de conteúdo usando a AES
O AES (Advanced Encryption Standard) é usado para criptografar o conteúdo. Há suporte para os seguintes algoritmos:- 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))
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |
DLL | CertEnroll.dll |