Método IX509SignatureInformation::GetSignatureAlgorithm (certenroll.h)
O método GetSignatureAlgorithm recupera o OID ( identificador de objeto do algoritmo de assinatura).
Sintaxe
HRESULT GetSignatureAlgorithm(
[in] VARIANT_BOOL Pkcs7Signature,
[in] VARIANT_BOOL SignatureKey,
[out] IObjectId **ppValue
);
Parâmetros
[in] Pkcs7Signature
Uma variável VARIANT_BOOL que especifica se o algoritmo será usado para assinar uma solicitação de certificado PKCS nº 7 ou CMC.
[in] SignatureKey
Uma variável VARIANT_BOOL que especifica se um algoritmo usado apenas para assinatura é preferencial quando um algoritmo OID está associado a mais de uma finalidade. Por exemplo, XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) pode ser usado para assinatura e troca de chaves.
[out] ppValue
Endereço de uma variável que recebe um ponteiro para uma interface IObjectId que representa o algoritmo 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. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Valor/código retornado | Descrição |
---|---|
|
O OID do algoritmo de hash ou a propriedade NullSigned não foi especificada, mas o algoritmo de assinatura OID não pode ser encontrado. |
|
Não foi possível encontrar o algoritmo de assinatura combinado. |
Comentários
Esse método pesquisa um algoritmo de assinatura armazenado em cache consistente com os parâmetros de entrada. Se nenhum for encontrado, o método usará os parâmetros de entrada mais os valores atribuídos a várias propriedades IX509SignatureInformation , conforme indicado pela lista a seguir.
-
Pkcs7Signature = true, NullSigned = true
Esse caso representa uma solicitação de certificado PKCS nº 7 assinada em nulo. O método retorna o OID de XCN_OID_PKIX_NO_SIGNATURE (1.3.6.1.5.5.7.6.2).
-
Pkcs7Signature = true, NullSigned = false
Esse caso recupera um OID de algoritmo de assinatura discreto para uma solicitação PKCS nº 7 que não é assinada em nulo. A assinatura discreta requer que as propriedades HashAlgorithm e PublicKeyAlgorithm sejam definidas. No caso especial em que o algoritmo de chave pública é XCN_OID_X957_DSA e o algoritmo de hash não é XCN_OID_OIWSEC_sha1, o algoritmo de assinatura OID recuperado é XCN_OID_X957_SHA1DSA (1.2.840.10040.4.3).
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = true
Esse caso recupera um OID de algoritmo de assinatura discreto para uma solicitação PKCS #10 e codifica o OID do algoritmo de hash na propriedade Parameters . As propriedades HashAlgorithm e PublicKeyAlgorithm devem ser definidas.
-
Pkcs7Signature = false, NullSigned = false, AlternateSignatureAlgorithm = false
Esse caso recupera um OID de algoritmo de assinatura discreto para uma solicitação PKCS nº 7. As propriedades HashAlgorithm e PublicKeyAlgorithm devem ser definidas.
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 |