0

우리는 Enterprise 라이브러리를 사용하는 레거시 ASP.NET 응용 프로그램을 가지고 있습니다. 4.1 대칭 키 공급자. 키는 실제 파일에 저장됩니다 (아래 config 참조). 기계 키 보호를 사용합니다.Enterprise Library 사용 방법 4.1 Azure의 대칭 키 공급자

<symmetricCryptoProviders> 
       <add algorithmType="System.Security.Cryptography.RijndaelManaged, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
       protectedKeyFilename="F:\wwwroot2\MSEntLib3.1\key\EncryptionKey.key" 
       protectedKeyProtectionScope="Machine" type="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.SymmetricAlgorithmProvider, Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
       name="RijndaelManaged" /> 
      </symmetricCryptoProviders> 

내가 Azure에 배포하고 응용 프로그램에서 "EncryptionKey.key"오류가 발생했습니다. 누군가 하늘을 배경으로 엔터프라이즈 라이브러리 암호를 계속 사용하는 방법을 도울 수 있습니까?

Azure 웹 역할을 비롯하여 모든 웹 서버에서 키를 만들고 사용할 수있는 옵션이 있습니까? 당신의 설정에 표시된 좋아

감사

답변

1

대칭 암호화 공급자 키는 응용 프로그램 구성 파일의 전체 실제 파일의 경로와 이름을 사용하여 참조 및 DPAPI 암호화에 의해 보호되는 파일에 저장됩니다. DPAPI는 Windows Azure에서 사용할 수 없으므로 Enterprise Library 대칭 암호화 공급자를 사용하면 즉시 사용할 수 없습니다.

그러나 Enterprise Library Crypto 블록과 함께 사용할 사용자 지정 대칭 알고리즘 공급자를 만드는 것을 고려해 볼 수 있습니다. 이 공급자는 .NET 암호화 서비스 공급자를 사용하여 암호화를 구현하고 암호화 된 형식으로 키를 저장하고 암호화를 오프라인으로 수행 한 다음 Windows Azure Blob 저장소에 저장하는 것이 가장 좋습니다. 이 방법에 대한 자세한 내용은 Windows Azure에서 연결 문자열을 보호 할 때 Using Certificate-Based Encryption in Windows Azure Applicationsthis post을 참조하십시오.