Partilhar via


Método StrongNameGetPublicKeyEx

Obtém a chave pública de um par de chaves públicas/privadas e especifica um algoritmo 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 contentor de chaves que contém o par de chaves públicas/privadas. Se pbKeyBlob for nulo, szKeyContainer tem de especificar um contentor válido no fornecedor de serviços criptográficos (CSP). Neste caso, o StrongNameGetPublicKeyEx método extrai a chave pública do par de chaves armazenado no contentor.

Se pbKeyBlob não for nulo, presume-se que o par de chaves está contido no objeto binário grande da chave (BLOB).

As chaves têm de ser chaves de assinatura Rivest-Shamir-Adleman (RSA) de 1024 bits. De momento, não são suportados outros tipos de chaves.

pbKeyBlob
[in] Um ponteiro para o par de chaves públicas/privadas. Este par está no formato criado pela função Win32 CryptExportKey . Se pbKeyBlob for nulo, assume-se que o contentor de chaves especificado por szKeyContainer contém o par de chaves.

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

ppbPublicKeyBlob
[fora] O BLOB de chave pública devolvido. O ppbPublicKeyBlob parâmetro é alocado pelo runtime de linguagem comum e devolvido ao autor da chamada. O autor da chamada tem de libertar a memória com o método ICLRStrongName::StrongNameFreeBuffer .

pcbPublicKeyBlob
[fora] O tamanho do BLOB da chave pública devolvida.

uHashAlgId
[in] O algoritmo hash de assemblagem. Consulte a secção Observações para obter uma lista de valores aceites.

uReserved
[in] Reservado para utilização futura; a predefinição é nula.

Devolver Valor

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

Observações

A chave pública está contida numa estrutura PublicKeyBlob .

A tabela seguinte mostra o conjunto de valores aceites para o uHashAlgId parâmetro .

Name Valor
Nenhuma 0
SHA-1 0x8004
SHA-256 0x800c
SHA-384 0x800d
SHA-512 0x800e

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: MetaHost.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

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

Ver também