Artigo: 277786 - Última revisão: terça-feira, 21 de Novembro de 2006 - Revisão: 4.6

Encriptar/desencriptar dados entre sistemas

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Se encriptar dados utilizando uma chave de sessão num sistema e, em seguida, desencriptar os dados encriptados no outro sistema utilizando a mesma chave de sessão, poderá não correctamente obter os dados originais.

Causa

Este problema poderá ocorrer se a aplicação não selecciona explicitamente a serviços criptográficos fornecedor (CSP, Cryptographic Service Provider) quando CryptAcquireContext denomina-se e utilizar o fornecedor predefinido.

Microsoft Windows Millennium Edition foi disponibilizada após o relaxation dos regulamentos de controlo de exportação dos Estados Unidos. As chaves que derivam do CSP a predefinição são chaves de 128 bits com esta versão do Windows.

Microsoft Windows 2000 e Microsoft Windows XP foram disponibilizadas antes relaxation dos regulamentos de controlo de exportação dos Estados Unidos. As chaves que derivam do CSP a predefinição são chaves de 40 bits nestas versões do Windows. É possível gerar chaves de 128 bits no Windows 2000 depois de aplicar o pacote de encriptação elevada:
http://technet.microsoft.com/en-us/windowsserver/2000/default.aspx (http://technet.microsoft.com/en-us/windowsserver/2000/default.aspx)
Este problema também poderá ocorrer se a aplicação não definir explicitamente o comprimento da chave quando gera ou deriva de uma chave.

Resolução

Devido a alterar restrições de controlo de exportação, pode alterar o comprimento de chave predefinido CSP e predefinido entre versões do sistema operativo. É importante que a encriptação e desencriptação de utilizam o mesmo CSP. Também é importante que definir explicitamente o comprimento da chave, utilizando o parâmetro dwFlags para assegurar a interoperabilidade em plataformas de sistema operativo diferente.

Mais Informação

Para obter mais informações sobre os CSP cadeia constantes nomes utilizados com a função CryptAcquireContext e com a função CryptSetProvider, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/aa380243.aspx (http://msdn.microsoft.com/en-us/library/aa380243.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Win32 Application Programming Interface nas seguintes plataformas
    • Microsoft Windows Millennium Edition
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows XP Professional Edition
Palavras-chave: 
kbmt kbapi kbcrypt kbkernbase kbprb kbsecurity KB277786 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 277786  (http://support.microsoft.com/kb/277786/en-us/ )