Compartilhar via


Método StrongNameGetPublicKeyEx

Obtém a chave pública de um par de chaves pública/privada e especifica um algoritmo de hash e um algoritmo de assinatura.

Sintaxe

HRESULT StrongNameGetPublicKey (
    [in]  LPCWSTR   pwzKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbPublicKeyBlob,  
    [out] ULONG     *pcbPublicKeyBlob  
    [in]  ULONG     uHashAlgId,  
    [in]  ULONG     uReserved,  
);  

Parâmetros

pwzKeyContainer
[in] O nome do contêiner de chave que contém o par de chaves privadas/públicas. Se pbKeyBlob for nulo, szKeyContainer deverá especificar um contêiner válido dentro do CSP (provedor de serviços de criptografia). Nesse caso, o método StrongNameGetPublicKeyEx extrai a chave pública do par de chaves armazenado no contêiner.

Se pbKeyBlob não for nulo, o par de chaves será considerado contido no BLOB (objeto binário grande) chave.

As chaves devem ser chaves de assinatura RSA (Rivest-Shamir-Adleman) de 1024 bits. Não há suporte para nenhum outro tipo de chave no momento.

pbKeyBlob
[in] Um ponteiro para o par de chaves públicas/privadas. Esse par está no formato criado pela função CryptExportKey do Win32. Se pbKeyBlob for nulo, é considerado que o contêiner de chave especificado por szKeyContainer contém o par de chaves.

cbKeyBlob
[in] O tamanho, em bytes, de pbKeyBlob.

ppbPublicKeyBlob
[out] O BLOB da chave pública retornada. O parâmetro ppbPublicKeyBlob é alocado pelo Common Language Runtime e retornado ao chamador. O chamador deve liberar memória usando o método ICLRStrongName::StrongNameFreeBuffer.

pcbPublicKeyBlob
[out] O tamanho do BLOB da chave pública retornado.

uHashAlgId
[in] O algoritmo de hash do assembly. Consulte a seção Comentários para obter uma lista dos valores aceitos.

uReserved
[in] Reservado para uso futuro; o padrão é nulo.

Valor Retornado

S_OK se o método tiver sido concluído com êxito; caso contrário, um valor HRESULT que indica falha (consulte Valores HRESULT comuns para uma lista).

Comentários

A chave pública está contida em uma estrutura PublicKeyBlob.

A tabela a seguir mostra o conjunto de valores aceitos para o parâmetro uHashAlgId.

Nome Valor
Nenhum 0
SHA-1 0x8004
SHA-256 0x800c
SHA-384 0x800d
SHA-512 0x800e

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: MetaHost.h

Biblioteca: incluída como um recurso no MSCorEE.dll

Versões do .NET Framework: Disponíveis desde a versão 4.5

Confira também