2013-01-03 5 views
4

웹 팜 환경에서 메시지 인증에 HMACSHA256을 사용하고 있습니다.HMAC (웹 팜의)에 대한 현재 MachineKey 또는 equivent 가져 오기

웹 팜 내에서 각 컴퓨터는 동일한 컴퓨터 키를 가지므로 ViewState는 여러 컴퓨터에서 작동하지만 HMAC 메시지 인증은 컴퓨터에서 작동하므로 모든 컴퓨터에서 동일하게 사용됩니다 기계 키가 있다면 HMAC 키로 사용할 키를 파생시키는 방법이 있어야합니다.

.NET 4.0의 경우 MachineKey 클래스가 있지만, .NET 3.5을 사용하고 있는데이 기능은 사용할 수 없습니다.

ASP.NET 3.5 환경에서 내 자신을 생성하지 않고 모든 컴퓨터에서 동일한 정렬 키를 얻을 수있는 방법이 있습니까?

편집

은 실제로 기계 키 자체, 기계 키 (또는 동급)에서 파생 바로 검증 키가 필요하지 않습니다.

답변

7

web.config에서 컴퓨터 키를 읽을 수 있습니다. 이 링크는 이렇게하는 방법을 보여줍니다 : http://aspnetresources.com/blog/how_to_read_auto_generated_machinekey

아티클 작성자는 생성 된 컴퓨터 키를 읽습니다. 따라서 코드에서 일부 변경을 수행해야합니다.

그냥 기계 키를 web.config에 저장하면 약간의 정보가 더 필요하다는 것을 알 수 있습니다. 기본적으로 다음 줄로 구분됩니다.

MachineKeySection section = (MachineKeySection) 
    ConfigurationManager.GetSection ("system.web/machineKey"); 
+0

감사합니다. 반영 비트는'ValidationKeyInternal'에서 실제 기계 키 값을 얻어야하기 때문에 필요합니다. – Matthew

+5

링크가 끊어진 경우 : ( –

+1

Stuck to .NET 3.5가 아닌 경우 MachineKey 클래스를 사용할 수 있습니다 – TGlatzer