2012-02-23 9 views
1

カスタムWCFサービスクライアントを実装しようとしています。サーバーはクライアント資格情報なしでwsHttpBindingとメッセージセキュリティを使用します。 TLSハンドシェイクを開始するには、適切な石鹸封筒をプログラム的に作成する必要があります。標準のWCFクライアントからの最初の要求を取得しました。メッセージは次のようになります。WCFサービスメッセージセキュリティを使用するTLSハンドシェイク

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> 
    <s:Header> 
     <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action> 
     <a:MessageID>urn:uuid:f88d1721-29ce-4418-994e-a3796f053e63</a:MessageID> 
     <a:ReplyTo> 
     <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> 
     </a:ReplyTo> 
     <a:To s:mustUnderstand="1">http://localhost:56635/Service1.svc</a:To> 
    </s:Header> 
    <s:Body> 
     <t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" Context="uuid-6549ee11-0349-4dbc-8686-6b7f0b079251-1"> 
     <t:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</t:TokenType> 
     <t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType> 
     <t:KeySize>256</t:KeySize> 
     <t:BinaryExchange ValueType="http://schemas.xmlsoap.org/ws/2005/02/trust/tlsnego" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">FgMBAFoBAABWAwFPQ8mbvU/nL8Cgu/CRIhhvVyRAYNdppNpdUY2UEi/GLQAAGAAvADUABQAKwBPAFMAJwAoAMgA4ABMABAEAABX/AQABAAAKAAYABAAXABgACwACAQA=</t:BinaryExchange> 
     </t:RequestSecurityToken> 
    </s:Body> 
</s:Envelope> 

問題がある、私はエンコードとBinaryExchangeタグに挿入する必要がありますどのような値を把握することはできません。どんな助けもありがとう。

答えて

1

あなたはそのパスに行きたくありません。複雑な標準が2つあります(ws-secureconversationとssl nego)。それぞれに複数のメッセージ交換が含まれています。あなたは署名され、暗号化されたすべての部品を正しく得るために本当に難しい作業をする必要があります。通常のWCFクライアントを使用する必要があります。

関連する問題