Compartilhar via


Método ICLRStrongName::StrongNameSignatureGenerationEx

Gera uma assinatura de nome forte para o assembly especificado, de acordo com os sinalizadores especificados.

Sintaxe

HRESULT StrongNameSignatureGenerationEx (  
    [in]  LPCWSTR   wszFilePath,  
    [in]  LPCWSTR   wszKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbSignatureBlob,  
    [out] ULONG     *pcbSignatureBlob,  
    [in]  DWORD     dwFlags  
);  

Parâmetros

wszFilePath
[in] O caminho para o arquivo que contém o manifesto do assembly para o qual a assinatura de nome forte será gerada.

wszKeyContainer
[in] O nome do contêiner de chave que contém o par de chaves privadas/públicas.

Se pbKeyBlob for nulo, wszKeyContainer deverá especificar um contêiner válido dentro do CSP (provedor de serviços de criptografia). Nesse caso, o par de chaves armazenado no contêiner é usado para assinar o arquivo.

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

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 wszKeyContainer contém o par de chaves.

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

ppbSignatureBlob
[out] Um ponteiro ao local para o qual o Common Language Runtime retorna a assinatura. Se ppbSignatureBlob for nulo, o runtime armazenará a assinatura no arquivo especificado por wszFilePath.

Se ppbSignatureBlob não for nulo, o Common Language Runtime alocará espaço no qual retornar a assinatura. O chamador deve liberar esse espaço usando o método ICLRStrongName::StrongNameFreeBuffer.

pcbSignatureBlob
[out] O tamanho, em bytes, da assinatura retornada.

dwFlags
[in] Um ou mais dos seguintes valores:

  • SN_SIGN_ALL_FILES (0x00000001) – Recompilar todos os hashes para módulos vinculados.

  • SN_TEST_SIGN (0x00000002) – Teste o sinal do assembly.

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

Especifique nulo no wszFilePath calcular o tamanho da assinatura sem criar a assinatura.

A assinatura pode ser armazenada diretamente no arquivo ou retornada ao chamador.

Se SN_SIGN_ALL_FILES for especificado, mas uma chave pública não estiver incluída (pbKeyBlob e wszFilePath são nulos), os hashes para módulos vinculados serão recalculados, mas o assembly não será assinado novamente.

Se SN_TEST_SIGN for especificado, o cabeçalho do Common Language Runtime não será modificado para indicar que o assembly está assinado com um nome forte.

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 4

Confira também