Método IX509AttributeArchiveKey::InitializeEncode (certenroll.h)
O método InitializeEncode inicializa o atributo de um objeto IX509PrivateKey , o certificado de criptografia da autoridade de certificação e o OID ( identificador de objeto do algoritmo de criptografia simétrica).
Sintaxe
HRESULT InitializeEncode(
[in] IX509PrivateKey *pKey,
[in] EncodingType Encoding,
[in] BSTR strCAXCert,
[in, optional] IObjectId *pAlgorithm,
[in] LONG EncryptionStrength
);
Parâmetros
[in] pKey
Ponteiro para uma interface IX509PrivateKey que representa a chave.
[in] Encoding
Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode aplicada à cadeia de caracteres de entrada que contém a chave criptografada.
[in] strCAXCert
Uma variável BSTR que contém o certificado de criptografia da autoridade de certificação que contém a chave pública usada para criptografar a chave privada.
A partir do Windows 7 e do Windows Server 2008 R2, você pode especificar uma impressão digital do certificado ou um número de série em vez de um certificado codificado. Isso faz com que a função pesquise os repositórios locais apropriados para o certificado correspondente. Tenha em mente os seguintes pontos:
- O BSTR deve ser um número par de dígitos hexadecimais.
- O espaço em branco entre pares hexadecimais é ignorado.
- O parâmetro Encoding deve ser definido como XCN_CRYPT_STRING_HEXRAW.
- Somente os repositórios pessoais e de solicitação são pesquisados para a chave privada.
[in, optional] pAlgorithm
Ponteiro para uma interface IObjectId que representa o OID do algoritmo de criptografia simétrica usado para criptografar a chave privada. Esse parâmetro é opcional. Se você não fornecer um OID, XCN_OID_RSA_DES_EDE3_CBC (DES triplo) será usado.
[in] EncryptionStrength
Uma variável LONG que contém a força de criptografia do algoritmo identificado pelo parâmetro pAlgorithm . Esse parâmetro não é usado no momento porque o SDK de Registro de Certificado não dá suporte a nenhum algoritmo para o qual o OID ainda não implica a força (comprimento da chave). Por exemplo, o AES tem vários pontos fortes, mas a força de cada um já é indicada pelo OID.
Retornar valor
Se a função for bem-sucedida, a função retornará S_OK.
Se a função falhar, ela retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Comentários
O identificador de objeto desse atributo é XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13). Para obter mais informações, consulte CERTENROLL_OBJECTID.
Você deve chamar InitializeEncode ou InitializeDecode antes de usar um objeto IX509AttributeArchiveKey . Os dois métodos se complementam. O método InitializeEncode permite que você construa uma estrutura asn.1 ( Abstract Syntax Notation One ) codificada com base em dados brutos e o método InitializeDecode permite inicializar dados brutos de uma estrutura ASN.1 codificada. Você pode chamar as seguintes propriedades para recuperar os dados brutos:
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 |