Partilhar via


Método ICLRStrongName::StrongNameSignatureGenerationEx

Gera uma assinatura de nome forte para a assemblagem especificada, 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 ficheiro que contém o manifesto da assemblagem para a qual será gerada a assinatura de nome forte.

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

Se pbKeyBlob for nulo, wszKeyContainer tem de especificar um contentor válido no fornecedor de serviços criptográficos (CSP). Neste caso, o par de chaves armazenado no contentor é utilizado para assinar o ficheiro.

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

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

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

ppbSignatureBlob
[fora] Um ponteiro para a localização para a qual o runtime de linguagem comum devolve a assinatura. Se ppbSignatureBlob for nulo, o runtime armazena a assinatura no ficheiro especificado por wszFilePath.

Se ppbSignatureBlob não for nulo, o runtime de linguagem comum aloca espaço para devolver a assinatura. O autor da chamada tem de libertar este espaço com o método ICLRStrongName::StrongNameFreeBuffer .

pcbSignatureBlob
[fora] O tamanho, em bytes, da assinatura devolvida.

dwFlags
[in] Um ou mais dos seguintes valores:

  • SN_SIGN_ALL_FILES (0x00000001) - Recompute todos os hashes para módulos ligados.

  • SN_TEST_SIGN (0x00000002) - Teste o início de sessão da assemblagem.

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

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

A assinatura pode ser armazenada diretamente no ficheiro ou devolvida ao autor da chamada.

Se SN_SIGN_ALL_FILES for especificado, mas uma chave pública não estiver incluída (ambas pbKeyBlob e wszFilePath forem nulas), os hashes para módulos ligados são recompilados, mas a assemblagem não é reassinada.

Se SN_TEST_SIGN for especificado, o cabeçalho de runtime de linguagem comum não é modificado para indicar que a assemblagem está assinada com um nome forte.

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 4

Ver também