본문 바로가기

카테고리 없음

[C#] 실버라이트 POCO 도메인서비스 ssl 관련 (Silverlight WCF Domain Service with ssl using iis 8)

실버라이트로 데이터를 주고 받을때 주로 WCF 를 사용하는데

 

POCO (plain old CLR object) 방식을 사용할 때 서비스에 접근하는

 

사용자가 데이터를 주고 받을 수 있도록 [EnableClientAccess()] Attribute 가 기본으로 설정됩니다.

 

하지만 보안을 필요로 하는 도메인 서비스를 사용해야 하는 경우에는 이 Attribute 의 속성인

 

RequiresSecureEndpoint 를 true 로 설정해야 합니다. [EnableClientAccess(RequiresSecureEndpoint =true)] 

 

이렇게 지정을 하면 http 로 접속을 시도하는 경우 데이터를 받아 오지 못하게됩니다.

(Load 가 실패했다거나 Cross domain policy 가 잘못됐다거나 보안 오류라는 메세지를 볼 수 있습니다.)

 

그럼 이제 https 를 통해서 접근을 해야하기 때문에 iis 에서 해당 사이트에 https 바인딩을 해주어야합니다.

(iis 에서 https 를 바인딩 하려면 인증서가 필요합니다.)

 

그리고 신뢰할 수 있는 인증서가 제대로 설치되어 있다면 보안 통신을 사용할 수 있습니다.

(Local 에서 테스트 용으로 사용하시려면 개인 인증서를 만들어서 사용하시면 됩니다.)