14

XP 홈을 실행하는 구형 컴퓨터에서 ASP.NET 사이트를 개발했습니다. 나는 최근에 새로운 Win 7 PC를 갖고 모든 프로젝트 파일을 옮겼습니다. 나는 시도하고 프로젝트를 실행하면이 오류 메시지가 :RSA 키 컨테이너를 열 수 없습니다.

"Failed to decrypt using provider 'MyRsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened."

내가이 RSA encryption를 사용하여 내 web.config 파일의 일부를 암호화 것을 깨달았다. 이것이 바로 문제가있는 곳입니다. 그 키를 다시 작동 시켜서 새 컴퓨터에서 사용할 수있는 방법을 모르겠습니다. 나는 이전 컴퓨터에서 키를 내 보낸 사용하여 수입 :

aspnet_regiis -pi "RSAProviderName" "C:\RSA_configkey.xml"

이 성공적으로 가져온. 그런 다음 프로젝트를 실행했지만 동일한 오류 메시지가 나타났습니다. 나는 그것이 허가 일이 될 수있다 생각, 그래서 실행 :이 또한 성공

aspnet_regiis -pa "RSAProviderName" "\Desktop" -full

,하지만 난 여전히 오류가 발생합니다. 주위를 읽는 것으로부터 사람들이 "\ Desktop"(데스크톱은 내 컴퓨터 이름) 대신 "ASPNET"을 사용하는 것을 보았습니다. 나는 시도하고 "ASPNET"을 사용할 때, 나는 얻을이가 해결 될 때까지

No mapping between account name and security IDs was done. <Exception from HRESULT = 0x80070534

내가 프로젝트에 대한 작업을 할 수 없기 때문에 어떤 도움이 많이 감사합니다. 감사합니다.

답변

27

여전히 이전 컴퓨터에 액세스 할 수있는 경우 해당 컴퓨터에서 구성 섹션의 암호를 해독 한 다음 암호화되지 않은 구성 파일을 새 컴퓨터에 복사 할 수 있습니다 (필요한 경우 이전 컴퓨터에서 파일 다시 암호화).).

윈도우 7에

, IIS 응용 프로그램 풀은 기본적으로 실행되는 계정 가능성이있을 것입니다 ApplicationPoolIdentity (에 ASPNET를 반대). 권한을 부여하려면 다음을 수행하십시오 그런데

aspnet_regiis -pa RSAProviderName "IIS APPPOOL\DefaultAppPool" -full 

, 새 하나에 오래된 컴퓨터에서 키를 복사하여 인내하기로 결정하면, 당신은 내보낼 때, 당신은 개인을 내보낼 수 있는지 확인해야합니다 너무 키 데이터 : 선택적으로

aspnet_regiis -px RSAProviderName C:\RSA_configkey.xml -pri 

그리고는, 가져 오기 동안 주요 데이터를 내보낼 수 있도록합니다 : 도움을

aspnet_regiis -pi RSAProviderName C:\RSA_configkey.xml -exp 
+0

감사합니다. 다음 시간 내에 이전 컴퓨터에 액세스해야하므로이 방법을 시도 할 것입니다. 참고로'(\ desktop'과 같이) 부여한 권한을 재설정하는 가장 좋은 방법은 무엇입니까? 내가 기계의 유일한 사용자이기 때문에별로 중요하지는 않지만 더 좋을 수도 있습니다. – keyboardP

+1

감사합니다. 문제가 해결되었습니다. – keyboardP

+3

반갑습니다. 권한을 취소하려면'-pr' 스위치와 함께 aspnet_regiis를 다시 사용할 수 있습니다. 또는 'C : \ Users \ All Users \ Microsoft \ Crypto \ RSA \ MachineKeys'에서 파일을 찾고 Windows를 통해 전제를 변경하십시오. –