Pergunta

Eu escrevi um aplicativo .NET que não tem nada a ver com comunicação de rede. Não existe uma única linha de código em todo o aplicativo que usa o NIC, mas meu firewall o pegou tentando entrar em contato com o Verisign por algum motivo quando o aplicativo é iniciado. Isso não acontece regularmente; De fato, isso só aconteceu duas vezes.

A última vez que aconteceu, pude lançar o Wireshark antes de contar ao meu firewall para permitir o acesso à rede. Houve Sem transferência de dados real que eu posso dizer. Ele capturou apenas 9 pacotes TCP: alguns pacotes Syn, outros Syn/ACK e alguns pacotes RST (os pacotes RST foram quebrados). Eu suspeitaria que uma das minhas DLLs de terceiros, mas não vejo por que uma biblioteca de matemática ou uma biblioteca de manipulação de imagem tentaria estabelecer uma conexão com a Verisign e depois não fazer nada com essa conexão.

Meus clientes estão em organizações com segurança rígida; A última coisa que eu quero é um telefonema perguntando por que meu aplicativo está se conectando à Internet.

Alguém sabe por que isso está acontecendo? Existe uma maneira de impedir que isso aconteça?

O arquivo .pcap que o Wireshark gerou é aqui.

Foi útil?

Solução

Aqui está um bom link um blog Explicando o que está acontecendo e as alterações no arquivo de configuração do aplicativo que você pode adicionar para impedir que isso aconteça, especificamente:

<configuration>
   <runtime>
       <generatePublisherEvidence enabled="false"/>
   </runtime>
</configuration>

Está relacionado à assinatura do Authenticode e à PublisherMembershipCondition que você quase definitivamente não precisa. Isso é explicado aqui Msdn

Uma coisa a ser observada é que o .NET 2.0 e .NET 3.0 adicionaram apenas suporte a essa configuração de configuração com SP1. .NET 3.5 suporta isso sem nenhum pacote de serviço.

Outras dicas

Se você assinar sua montagem com um certificado real, o tempo de execução .NET precisará verificar a assinatura digital.

Se for um aplicativo da Web com SSL, pode ser o IE tentando verificar se o certificado não foi revogado.

São qualquer uma das DLLs de terceiros assinadas com Autenticode?

Essas DLLs de terceiros pagos são possivelmente fazendo algum tipo de autenticação de uso?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top