우리는 클라이언트 인증서 및 메시지 인증을 사용하여 ABC 서버를 통해 서비스를 호스팅하려고합니다.
클라이언트는 서비스에서 이해해야하는 WSSE UsernameToken 보안 헤더를 제공하고 적절한 인증을 수행해야합니다.웹 서비스 개발 - 비밀번호 다이제스트 인증을 사용하는 UsernameToken 헤더
두 가지 옵션이 있습니다.
1. WCF 서비스 - 사용자 정의 바인딩이나 다른 조정을 사용하여 방법을 찾아야 할 수도 있으므로 직접 사용하지 않는 암호를 지원하지 않습니다.
2. WSE 3.0을 사용하는 웹 서비스 - WSE 3.0 서비스를 개발하는 방법을 알아야하며 다음 보안 헤더를 처리하기 위해이를 활용할 수 있습니다.
WSE 3.0의 전제 조건은 무엇입니까?이를 위해 필요한 도구와 라이브러리는 무엇입니까?
도움이 될 것입니다.
요청시 비누 헤더가 예상됩니다.
<s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"
xmlns:u="http://docs.open.org/wss/2004/01/wss-wssecurity-utility-1.0.xsd">
<s:header>
<a:action s:mustunderstand="1">http://service</a:action>
<a:messageid>urn:uuid:3bc37759-01fk-12er-2317-22068daf2501</a:messageid>
<a:replyto>
<a:address>http://www.w3.org/2005/08/addressing/anonymous</a:address>
</a:replyto>
<a:to s:mustunderstand="1">https://service.svc</a:to>
<o:security s:mustunderstand="1" xmlns:o="http://docs.open.org/wss/2004/01/wss-wssecurity-utility-1.0.xsd">
<u:timestamp u:id="_0">
<u:created>2013-08-01T07:55:10.582Z</u:created>
<u:expires>2013-08-01T08:00:10.582Z</u:expires>
</u:timestamp>
<wsse:usernametoken wsu:id="b77a80e6-4d1d-49d7-b8f1-35fecc18caae" xmlns:wsse="http://docs.open.org/wss/2004/01/200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.open.org/wss/2004/01/200401-wss-wssecurity-utility-1.0.xsd">
<wsse:username>
<!-- Removed-->
</wsse:username>
<wsse:password>
<!-- Removed-->
<!--Digested password -->
</wsse:password>
<wsse:nonce>
<!-- Removed-->
</wsse:nonce>
<wsu:created>2012-12-01T19:45:30.540Z</wsu:created>
</wsse:usernametoken>
</o:security>
</s:header>
<s:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
</s:body>
</s:envelope>
내가 아래 링크에서 대답을 얻었다