2016-11-22 14 views
0

우리는 임베디드 장치에서 실행되는 WCF 웹 서비스와 통신하는 안드로이드 응용 프로그램을 개발 중입니다. 내가 뭘하고 싶은지 안드로이드 애플 리케이션에서 안전하게 웹 서비스에 이리저리 메시지를 보내주십시오.SOAP 메시지와 함께 Timestamp를 Android APP에서 WCF 웹 서비스로 보내는 방법은 무엇입니까?

보안 고려 사항의 일부로, 우리는 장치에 SOAP 요청의 일부로 전달되는 메시지와 타임 스탬프, 즉 메시지가 서명 된 시간을 서명하여 그 부분으로 보내야합니다 메시지가 서명 된 때와 그 메시지에 대해 행동할지 여부를 장치가 알 수 있도록 장치에 요청을 전송합니다.

안드로이드 앱 (원격)에서 웹 서비스에 액세스 할 것이므로 당사자 모두에게 알려진 키를 사용하여 페이로드를 암호화해야 할 수도 있습니다.

여기서 내 질문은 타임 스탬프를 해시하고 페이로드의 서명 된 메시지와 함께 안전하게 보내고 WCF 웹 서비스에서 타임 스탬프 값을 다시받는 방법입니다.

도움이나 자원

답변

1

WS-Security specification 인식되는 경우 어떤 종류의 메시지의 생성 및 만료 시간을 포함하는 <wsu:Timestamp> 소자를 제공한다.

<S11:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu="..."> 
    <S11:Header> 
    <wsse:Security> 
     <wsu:Timestamp wsu:Id="timestamp"> 
     <wsu:Created>2001-09-13T08:42:00Z</wsu:Created> 
     <wsu:Expires>2001-10-13T09:00:00Z</wsu:Expires> 
     </wsu:Timestamp> 
     ... 
    </wsse:Security> 
    ... 
    </S11:Header> 

당신은 전송하기 전에 SOAP 메시지에 타임 스탬프를 추가 할 수 있습니다. 서버는 SOAP 헤더에서 읽을 수 있습니다.