Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais
Otimizando a inicialização de Aplicações .NET
Data:8/30/2008

Translate this page now :





Categories: Tecnologia , .NET , Servidores , SQLServer , Segurança

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :
Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon

Veja Também


(este post vai ficar mais ou menos, por falta de tempo de testar os detalhes envolvidos neste assunto. Adoraria outras contribuições aqui)

Enquanto estava instalando o SQL Server 2008 tive um surpresa estranha. Ainda na fase inicial de instalação ele me apresentou a seguinte mensagem :

---------------------------
Rule Check Result
---------------------------
Rule "Microsoft .NET Application Security" generated a warning.
The computer cannot access the Internet. There might be delays in starting a .NET application like Management Studio. If navigate to http://crl.microsoft.com/pki/crl/products/MicrosoftRootAuthority.crl and are prompted to download the MicrosoftRootAuthority.crl file you should not have .NET security validation issues. It is not necessary to download the MicrosoftRootAuthority.crl file.
---------------------------
OK
---------------------------

Vamos ver o que esta mensagem está sutilmente nos dizendo : Se não estivermos conectados a internet, aplicações .NET irão sofrer um atraso na inicialização, em especial aplicações como o Management Studio do SQL Server.

Mais alguém além de mim considera isso algo anormal e que deveria ser explicado claramente ? Se nos states todo mundo anda conectado até o fiapo do cabelo, aqui a coisa ainda não é desta forma e nem por isso quero que minhas aplicações .NET rodem mais lentamente.

 

Depois de investigar um pouquino e descobrir que quase não existem informações a este respeito, cheguei a seguinte conclusão :

Quando uma aplicação .NET encontra-se assinada (strong name), a inicialização da aplicação gera uma publisher evidence. Isso acontece porque o CAS pode, quando for o caso, determinar as permissões que a aplicação terá de acordo com o publisher

A questão é que o CAS em suas configurações default não possui nenhuma configuração de permissão que use a identificação do publisher. Portanto você só precisaria da publisher evidence caso estivesse usando configurações de CAS personalizadas.

Observe que aplicações .NET não assinadas não sofrem com este atraso de inicialização, apenas as aplicações .NET assinadas sofrem este atraso.

Como resolver isso ?

Opção 1 : Desligar a geração da publisher evicence através de arquivos .config. Veja o código :

   1: <configuration>
   2:     <runtime>
   3:         <generatePublisherEvidence enabled="false"/>
   4:     </runtime>
   5: </configuration>

Com o devido cuidado isso deve ser inserido dentro do machine.config e você deve lembrar-se que está lá, pois quando quiser personalizar o CAS com permissões específicas de publisher não vai conseguir

Opção 2 : Instalar o certificado do publisher na máquina onde a aplicação será rodada

A melhor opção, já que mantém a publisher evidence, não alterando as funcionalidades do CAS, mas evita que a aplicação tenha que ir ou tente ir a internet buscar o certificado digital do publisher.

No caso da Microsoft (até o live writer é feito em .NET, lembre-se disso), ela nos indica na mensagem de erro mais acima onde fica o certificado digital dela (a parte pública).

Os passos para importar o certificado, depois de ter feito download (com o link ali em cima), são os seguintes :

Abra o MMC, utilizando start->run->mmc

Utilize a opção file->add snap-in

Adicione o snap-in de certificate

SNAG-0099

Indique que o gerenciamento será feito da computer account e que será do computador local

SNAG-0100

SNAG-0101

SNAG-0102

Em trusted publishers, clique com o botão direito e clique em import

 SNAG-0103

SNAG-0104

 

Siga o wizard e aponte para o certificado. Precisará alterar o tipo de arquivo para crt (revokation list ?!)

SNAG-0105

SNAG-0106

Complete o wizard

Em tempo : O alerta na instalação do SQL Server 2008 é um bug não corrigido, pois pode ser gerado mesmo que a máquina esteja com acesso a internet

Referências :

Importar certificado digital

Desabilitar publisher evidence

GeneratePublisherEvidence

 



Categories: Tecnologia , .NET , Servidores , SQLServer , Segurança


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br