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