6

암호화에 문제가 있습니다. 모든 사용자에게 RSA 폴더에 대한 모든 권한을 부여했습니다. 나는 Web.config 암호화 오류

C:\>aspnet_regiis -pc "NetFrameworkConfigurationKey" -exp 
Creating RSA Key container... 
The RSA key container could not be opened. 
Failed! 

아무것도 나를 위해 작동하지 않습니다

에 의해
C:\>aspnet_regiis -pa "NetFrameworkConfigurationKey" "administrator" 
Adding ACL for access to the RSA Key container... 
The RSA key container was not found. 
Failed! 

이어

을 한 다음
C:\>aspnet_regiis -pe "appSettings" -location "web.config" -prov "RsaProtectedCo 
nfigurationProvider" 
Encrypting configuration section... 
An error occurred executing the configuration section handler for appSettings. 

Failed to encrypt the section 'appSettings' using provider 'RsaProtectedConfigur 
ationProvider'. Error message from the provider: Object already exists. 

Failed! 

했다.

아무도 도와 줄 수 있습니까?

덕분에 사용자의 위치가 잘못이 라인에서

답변

1
C:\>aspnet_regiis -pe "appSettings" -location "web.config" 
     -prov "RsaProtectedConfigurationProvider" 

. -pd 스위치 위치를 사용할 때 IIS의 응용 프로그램 경로를 기반으로하며 web.config는 암호화 지점으로 간주됩니다.

그래서 예를 들어, 당신은 응용 프로그램 "웹 사이트 1"이라는 한 경우와 다른 하나는 IIS에서 "웹 사이트 2"라는, 당신은 당신이이 줄을 사용하는 것이 암호화하는 "웹 사이트 1"의 Web.config를 원하는 :

C:\>aspnet_regiis -pe "appSettings" -location "Website 1" 
     -prov "RsaProtectedConfigurationProvider" 

개인적으로 웹 사이트의 실제 디렉토리를 직접 가리킬 수 있으므로 -pef 스위치를 사용하는 것이 더 간편하다는 것을 알았습니다.

Encrypting Configuration Information Using Protected Configuration에 대한 MSDN의 자습서를 따르십시오. 나는 그것을 여러 번 사용했으며 아직 encyrption을하는 데 문제가있다.

+0

답장을 보내 주셔서 감사합니다. C : \> aspnet_regiis -pe "appSettings"-location "web.config"-prov "RsaProtectedConfigurationProvider" 다른 여러 컴퓨터에서이 작업을 수행했습니다. 그것은 작동합니다. 따라서 문제는 명령 줄이 아닙니다. 문제는 핵심입니다. 열쇠에 관한이 특정 기계에 문제가 있습니다. – BKarms

1

"관리자"는 ASP.NET 서비스가 실행중인 계정으로 변경해야합니다. 기회가 있기 때문에 관리자 서비스 계정으로 ASP.NET을 실행하지 않습니다. 그렇다면 결정을 재고해야합니다.

예를 들어

, 여기에 내가 무엇을 사용 :

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority\Network Service" 

또는

aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET" 

그런 다음 암호화, 내가 사용

aspnet_regiis -pef "connectionStrings" 

또는

aspnet_regiis -pef "appSettings" 
+0

답장을 보내 주셔서 감사합니다. aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority \ Network Service"또는 aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET"어떤 계정이든 상관 없습니다. 실패 메시지를 반환합니다. RSA 키 컨테이너에 액세스하기위한 ACL 추가 중 ... RSA 키 컨테이너를 찾을 수 없습니다. 실패한! – BKarms

9

나는이 실패와 같은 문제를 받았 었죠 :

경우 aspnet_regiis -pa "NetFrameworkConfigurationKey" "{도메인} {사용자 이름}"

위의 라인은 반환 된는 "RSA 키 컨테이너는 아니었다 녹이다."

이 문제를 해결하려면 관리자 권한으로 명령 프롬프트를 실행해야합니다. 시작> 보조 프로그램> 명령 프롬프트를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택하십시오. 내 계정이 관리자 계정인데도이 작업을 수행해야했습니다.

+1

관리자 권한으로 명령 프롬프트를 실행하면이 문제가 해결되었습니다. – mkchandler

0

위의 명령으로 오류가 사라지기 전에 certs가 설치된 폴더를 찾고 소유권을 얻거나 사용 권한을 부여해야했습니다. 오류는 핵심 컨테이너를 찾을 수 없다고했지만 실제로는 인증서에 대한 권한이 없었습니다. 제 경우에는 다른 사람으로부터 개발 기계를 물려 받았고 필요한 명령을 실행하기 전에 파일에 대한 사용 권한을 부여해야했습니다.

나는 cert 폴더 위치, 세부 단계 등으로보다 자세한 응답을 제공하기를 원했지만 시간이 없었으며 내 시나리오에서해야 할 일을 메모하고 싶었습니다.