O contêiner da chave RSA não pôde ser aberto. Windows Server 2008 R2

6

Estou configurando um segundo site asp.net em nosso servidor Windows 2008 R2. Usamos um contêiner de chaves RSA para criptografar nossas cadeias de conexão. Eu criei um novo Pool de Aplicativos com as mesmas configurações do nosso Pool de Aplicativos Padrão que está suportando nosso site atual, incluindo o uso da mesma conta de usuário para a identidade. Quando tento acessar o novo site, recebo o seguinte erro: O contêiner da chave RSA não pôde ser aberto

Se eu alterar o novo site para usar nosso Pool de aplicativos padrão, ele funcionará. Por isso, tento dar à conta de usuário no novo acesso do Pool de Aplicativos ao Contêiner de Chave RSA usando o seguinte comando em um Prompt de Comando do Administrador:

aspnet_regiis -pa "KeyContainerName" "dmz \ UserName"

Eu recebo o seguinte erro: O contêiner da chave RSA não foi encontrado.

Eu corro o seguinte comando para instalar o contêiner de chave:

aspnet_regiis -pi "KeyContainerName" "c: \ keys.xml"

Eu recebo o seguinte erro: Objeto já existe

Eu tento executar o seguinte comando para excluir o contêiner de chave:

aspnet_regiis -pz "KeyContainerName"

Eu recebo este erro: O contêiner de chave RSA não foi encontrado. Falhou!

Então eu estou completamente perplexo, um comando me diz que já existe, o que faz sentido, porque eu sei que o nosso site está usando, mas quando eu tentei deletar, ele me diz que não existe. Ele funciona para um pool de aplicativos, mas não para um novo pool de aplicativos, usando exatamente a mesma identidade? Eu fiz exatamente essa configuração em 12 outros servidores e todos funcionaram bem.

    
por Blegger 23.07.2011 / 22:23

4 respostas

2

Eu tive algo parecido.

Se a conta que você está usando não tiver permissão para o contêiner de chave, quando você tentar conceder permissão a ela ( aspnet_regiis -pa "KeyContainerName" "dmz\UserName" ), receberá o erro Contêiner de chave não encontrado. No entanto, a chave existe; daí, o erro quando você tenta recriá-lo.

Isso significaria que a chave foi criada por uma conta diferente.

Se você pode fazer o login como essa conta, você pode fazer

aspnet_regiis -pa "KeyContainerName" "dmz\YourUserName" -full

para conceder seu próprio controle de conta da chave. Eu sugeriria configurar um grupo de KeyAdministrators NT e conceder acesso a isso e entrar no grupo.

    
por 19.03.2012 / 12:30
2

"Eu fiz o mesmo em 12 outros servidores e funcionou bem"

Bem:

Reimage o servidor ou começar de novo. Algo é claramente diferente sobre este, mesmo nesta fase inicial.

Se você está fazendo exatamente a mesma coisa (incidentalmente, por que não é roteirizado?) em todos os servidores, e todos eles se comportaram de forma idêntica e foram todos configurados de forma idêntica, mas este é diferente as coisas só vão piorar a partir daqui.

    
por 03.08.2011 / 19:36
1

Verifique ou tente usar o caminho completo para aspnet_regiis.exe. Como você deve estar ciente, isso pode ser uma versão de 32 ou 64 bits. Por exemplo:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pa "KeyContainerName" "domain\user"  
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pa "KeyContainerName" "domain\user"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -pa "KeyContainerName" "domain\user"  
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pa "KeyContainerName" "domain\user"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  

%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pi "KeyContainerName" "c:\keys.xml"  
    
por 03.08.2011 / 17:39
1

Tivemos o mesmo problema em um servidor clonado , mas não conseguimos que a solução de Paul funcionasse. Em vez disso, o que fizemos foi pesquisar em nosso computador o arquivo machineKeys e excluímos o arquivo da pasta ... \ Crypto \ RSA \.

Depois de fazer isso, conseguimos recriar o contêiner de chave RSA. Isso então recriou o arquivo machineKeys que apagamos.

    
por 08.05.2013 / 16:35