Depois de aplicar a actualização de segurança 3141780, aplicações do .NET Framework encontrar erros de excepção ou falhas inesperadas durante o processamento de ficheiros que contêm SignedXml

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: 3148821
Sumário
Depois de instalar qualquer um da 3141780 actualizações de segurança (descritas no boletim de segurança da Microsoft MS16-035), Aplicações do .NET framework podem encontrar erros de excepção ou falhas inesperadas quando estiver a processar ficheiros que contêm SignedXml.
Mais Informação
Importante Esta secção, método ou tarefa contém passos que explicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo incorrectamente. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Para uma maior protecção, efectue o backup do Registro antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para mais informações sobre como efectuar cópias de segurança e restaurar o registo, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar cópias de segurança e restaurar o registo no Windows

Cenário 1

Sintomas de cenário 1

Gerido uma excepção de erro que tem a seguinte assinatura de retorno de aplicações:

System.Security.Cryptography.CryptographicException: Não é possível resolver a Uri [FileOrUrl].


Exemplo

System.Security.Cryptography.CryptographicException: Não é possível resolver o Uri testfile.xml.

Resolução de cenário 1

Os clientes podem aplicar a seguinte chave de registo no seu sistema:

Entrada de registo

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1


. REG ficheiro disponível para transferência

Para resolver este problema, clique na hiperligação adequada e, em seguida, faça duplo clique no ficheiro transferido para efectuar as alterações ao registo.

SignedXml-ExternalReferences.reg (processo de 32 bits no sistema de 32 bits e o processo de 64 bits no sistema de 64 bits)

SignedXml-ExternalReferences.Wow6432.reg (processo de 32 bits no sistema de 64 bits)

Notas
  • Esta entrada de registo deverá ser uma entrada DWORD.
  • Esta entrada de registo restaura o comportamento de abrir ou transferir um recurso que está fora do documento a ser verificado para calcular o seu Resumo anterior.
Aviso Activar esta chave de registo poderia permitir a vulnerabilidades de segurança, incluindo a negação de serviço, distribuídas reflexão Denial of Service, divulgação de informações, ignorar assinatura e execução remota de código.

Cenário 2

Sintomas de cenário 2

Verificação de assinatura falha quando era esperado com êxito.

Resolução de cenário 2

Se o conteúdo incluir o seguinte bloco de assinatura, considere a aplicação a entrada de registo fornecida:

Exemplo de bloco de assinatura

<Document></Document>
<Signature xmlns=" xmlns=""></Signature xmlns=">http://www.w3.org/2000/09/xmldsig#">
<SignedInfo></SignedInfo>
<CanonicalizationMethod Algorithm=" algorithm=""></CanonicalizationMethod Algorithm=">http://www.w3.org/TR/2001/Rec-XML-c14n-20010315" />
<SignatureMethod Algorithm=" algorithm=""></SignatureMethod Algorithm=">http://www.w3.org/2000/09/xmldsig#RSA-SHA1" />
<Reference uri="..."></Reference>
<Transforms></Transforms>
<Transform Algorithm=" algorithm=""></Transform Algorithm=">http://www.w3.org/TR/1999/Rec-XPath-19991116" />
<DigestMethod Algorithm=" algorithm=""></DigestMethod Algorithm=">http://www.w3.org/2000/09/xmldsig#SHA1" />
<DigestValue>…</DigestValue>
<SignatureValue>…</SignatureValue>



Entrada de registo

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116


. REG ficheiro disponível para transferência

Para resolver este problema, clique na hiperligação adequada e, em seguida, faça duplo clique no ficheiro transferido para efectuar as alterações ao registo.

XmlDSigXPathTransform.reg (processo de 32 bits no sistema de 32 bits e o processo de 64 bits no sistema de 64 bits)

XmlDSigXPathTransform.Wow6432.reg (processo de 32 bits no sistema de 64 bits)

Se o bloco de assinatura contém o seguinte texto, considere a aplicação a entrada de registo fornecida:

Exemplo de bloco de assinatura

<Document></Document>
<Signature xmlns=" xmlns=""></Signature xmlns=">http://www.w3.org/2000/09/xmldsig#">
<SignedInfo></SignedInfo>
<CanonicalizationMethod Algorithm=" algorithm=""></CanonicalizationMethod Algorithm=">http://www.w3.org/TR/2001/Rec-XML-c14n-20010315" />
<SignatureMethod Algorithm=" algorithm=""></SignatureMethod Algorithm=">http://www.w3.org/2000/09/xmldsig#RSA-SHA1" />
<Reference uri="..."></Reference>
<Transforms></Transforms>
<Transform Algorithm=" algorithm=""></Transform Algorithm=">http://www.w3.org/TR/1999/Rec-XSLT-19991116" />
<DigestMethod Algorithm=" algorithm=""></DigestMethod Algorithm=">http://www.w3.org/2000/09/xmldsig#SHA1" />
<DigestValue>…</DigestValue>
<SignatureValue>…</SignatureValue>



Entrada de registo

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116

. REG ficheiro disponível para transferência

Para resolver este problema, clique na hiperligação adequada e, em seguida, faça duplo clique no ficheiro transferido para efectuar as alterações ao registo.

XmlDSigXsltTransform.reg (processo de 32 bits no sistema de 32 bits e o processo de 64 bits no sistema de 64 bits)

XmlDSigXsltTransform.Wow6432.reg (processo de 32 bits no sistema de 64 bits)

Nota Por predefinição, apenas esses assinatura transformações XML que são fornecidas pelo .NET Framework e não aceitar a entrada de documento assinado estão activadas. Para activar a aceitar entrada transformações ou transformações personalizadas, o URI registado para essa transformação tem de ser especificado como os dados de um valor REG_SZ-escreveu dentro desta chave de registo. O nome do valor não é processado e pode ser qualquer coisa que escolhe o administrador do computador.

Aviso As transformações XPath e XSLT permitir que o remetente do documento criar documentos que são inviabiliza dispendiosos. Isto poderia provocar uma situação de negação de serviço.
exploração do atacante malicioso

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3148821 - Última Revisão: 03/16/2016 21:21:00 - Revisão: 4.0

Microsoft .NET Framework 4.6.1, Microsoft .NET Framework 4.6, Microsoft .NET Framework 4.5.2, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 2.0 Service Pack 2

  • kbbug kbexpertiseinter kbsecbulletin kbsecurity kbsecvulnerability kbregistry kbmt KB3148821 KbMtpt
Comentários