Sumário
Após instalar qualquer uma das 3141780 atualizações de segurança (descritas no boletim de segurança da Microsoft MS16-035), os aplicativos do .NET Framework podem encontrar erros de exceção ou falhas inesperadas quando eles estão processando arquivos que contêm SignedXml.
Mais Informações
ImportanteEsta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. No entanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga estas etapas cuidadosamente. Para obter mais proteção, faça um backup do Registro antes de modificá-lo. Dessa forma, se ocorrer algum problema, você poderá restaurar o Registro. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número a seguir para ler o artigo da Base de Dados de Conhecimento Microsoft:
322756Como fazer backup e restaurar o Registro no Windows
Cenário 1
Cenário 1 sintomas
Aplicativos gerenciados retornam uma exceção de erro que possui a assinatura a seguir:
System.Security.Cryptography.CryptographicException: Não é possível resolver o Uri [FileOrUrl].
Exemplo System.Security.Cryptography.CryptographicException: Não é possível resolver o Uri testfile.xml.
Cenário 1 Solução
Clientes podem aplicar a chave de registro a seguir a seus sistemas:
Entrada do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1Arquivo .Reg disponível para download
Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro. SignedXml-ExternalReferences.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits) SignedXml-ExternalReferences.Wow6432.reg (processo de 32 bits em sistema de 64 bits) Observações
-
Esta entrada do registro deve ser uma entrada DWORD.
-
Esta entrada do registro restaura o comportamento anterior ao abrir ou fazer download de um recurso que é externo para o documento a ser verificado para calcular seu resumo.
Aviso Ativar essa chave de registro poderia permitir vulnerabilidades de segurança, incluindo Negação de Serviço, Negação de Reflexão Distribuída de Serviço, Divulgação de Informações, Anulação de Assinatura e Execução de Código Remoto.
Cenário 2
Cenário 2 sintomas
Falha na verificação de assinatura quando o sucesso era esperado.
Resolução do cenário 2
Se o conteúdo contiver o bloco de assinatura a seguir, considere aplicar a entrada de registro fornecida:
Exemplo de bloco de assinatura <Documento>…
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116" /></Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>…</DigestValue> </Reference> </SignedInfo> <SignatureValue>…</SignatureValue> </Signature> … </Document> Entrada do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116
Arquivo .Reg disponível para download
Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro. XmlDSigXPathTransform.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits)XmlDSigXPathTransform.Wow6432.reg (processo de 32 bits em sistema de 64 bits) Se o bloco de assinatura contiver o texto a seguir, considere aplicar a entrada de registro fornecida: Exemplo de bloco de assinatura <Documento>
…
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>…</DigestValue></Reference></SignedInfo ><SignatureValue>…</SignatureValue></Signature>… </Document> Entrada do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116
Arquivo .Reg disponível para download
Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro. XmlDSigXsltTransform.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits)XmlDSigXsltTransform.Wow6432.reg (processo de 32 bits em sistema de 64 bits) Observação Por padrão, somente as transformações de assinatura XML que são fornecidas pelo .NET Framework e não aceitam entrada do documento assinado são ativadas. Para ativar transformações que aceitam entradas ou transformações personalizadas, a URI registrada para essa transformação deve ser especificada como os dados de um valor digitado REG_SZ nesta chave de registro. O nome do valor não é processado e pode ser qualquer um que o administrador do computador escolher. Aviso As transformações XPath e XSLT permitem que o remetente do documento crie documentos que sejam computacionalmente caros. Isto poderia causar uma situação de Negação de Serviço.