Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Windows Communication Foundation (WCF) implementuje protokoly WS-Atomic Transaction a WS-Coordination.
| Specifikace nebo dokument | Verze | Odkaz |
|---|---|---|
| WS-Coordination | 1.0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wscoor/ https://docs.oasis-open.org/ws-tx/wscoor/2006/06 |
| WS-AtomicTransaction | 1.0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wsat/ https://docs.oasis-open.org/ws-tx/wsat/2006/06 |
Interoperabilita těchto specifikací protokolu se vyžaduje na dvou úrovních: mezi aplikacemi a mezi správci transakcí (viz následující obrázek). Specifikace podrobně popisují formáty zpráv a výměnu zpráv pro obě úrovně interoperability. Určité zabezpečení, spolehlivost a kódování pro výměnu aplikací na aplikaci platí stejně jako u běžné výměny aplikací. Úspěšná interoperabilita mezi správci transakcí však vyžaduje dohodu o konkrétní vazbě, protože uživatel ji obvykle nenakonfiguruje.
Tento článek popisuje složení specifikace WS-Atomic Transakce (WS-AT) se zabezpečením a popisuje zabezpečenou vazbu použitou pro komunikaci mezi správci transakcí. Přístup popsaný v tomto článku byl úspěšně testován s dalšími implementacemi WS-AT a WS-Coordination, včetně IBM, IONA, Sun Microsystems a dalších.
Následující obrázek znázorňuje interoperabilitu mezi dvěma správci transakcí, Správcem transakcí 1 a Správcem transakcí 2 a dvěma aplikacemi, Aplikací 1 a Aplikací 2:
Zvažte typický scénář ws-coordination/WS-Atomic transakce s jedním iniciátorem (I) a jedním účastníkem (P). Iniciátor i účastník mají správce transakcí (ITM a PTM). Dvoufázové potvrzení se v tomto článku označuje jako 2PC.
- VytvořitKontextKoordinace
- Odpověď na Vytvoření Koordinačního Kontextu
- Dokončení registrace
- RegistraceOdpověď
- Zpráva aplikace
- CreateCoordinationContext s kontextem
- Zaregistrovat (Durable)
- RegistraceOdpověď
- Odpověď na Vytvoření Koordinačního Kontextu
- Zaregistrovat (Durable)
- RegistraceOdpověď
- Odpověď na zprávu aplikace
- Závazek (dokončení)
- Příprava (2PC)
- Příprava (2PC)
- Připraveno (2PC)
- Připraveno (2PC)
- Závazně dohodnuto (dokončení)
- Potvrzení (2PC)
- Potvrzení (2PC)
- Potvrzeno (2PC)
- Potvrzeno (2PC)
Obrázek a tabulka znázorňují čtyři třídy zpráv z hlediska zabezpečení:
Zprávy o aktivaci (CreateCoordinationContext a CreateCoordinationContextResponse).
Registrační zprávy (Register a RegisterResponse)
Protokolové zprávy (Příprava, Vrácení zpět, Potvrzení, Zrušeno atd.)
Zprávy aplikace.
První tři třídy zpráv jsou považovány za zprávy Transaction Manager a jejich konfigurace vazby je popsána v "Application Message Exchange" dále v tomto tématu. Čtvrtá třída zpráv jsou zprávy mezi aplikacemi a je popsána v sekci Příklady zpráv uvedené později v tomto tématu. Tato část popisuje vazby protokolu používané pro každou z těchto tříd WCF.
V tomto dokumentu se používají následující obory názvů XML a přidružené předpony.
| Předpona | Verze | Identifikátor URI oboru názvů |
|---|---|---|
| s11 | https://schemas.xmlsoap.org/soap/envelope/ | |
| wsa | Před-1.0 1.0 |
https://www.w3.org/2004/08/addressinghttps://www.w3.org/2005/08/addressing/ |
| wscoor | 1.0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wscoor/ https://docs.oasis-open.org/ws-tx/wscoor/2006/06 |
| wsat | 1.0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wsat/ https://docs.oasis-open.org/ws-tx/wsat/2006/06 |
| t | Před-1.3 1.3 |
https://schemas.xmlsoap.org/ws/2005/02/trust/ https://docs.oasis-open.org/ws-sx/ws-trust/200512 |
| o | https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd | |
| xsd | https://www.w3.org/2001/XMLSchema |
Vazby správce transakcí
R1001: Správci transakcí, kteří se účastní transakce WS-AT 1.0, musí používat PROTOKOL SOAP 1.1 a WS-Addressing 2004/08 pro WS-Atomic Transakce a WS-Coordination výměny zpráv.
R1002: Správci transakcí účastnící se transakce WS-AT 1.1 musí používat SOAP 1.1 a WS-Addressing 2005/08 pro WS-Atomic Transakce a WS-Coordination výměny zpráv.
Zprávy aplikace nejsou omezeny na tyto vazby a jsou popsány později.
Propojení HTTPS správce transakcí
Vazba HTTPS správce transakcí spoléhá výhradně na zabezpečení přenosu, aby bylo dosaženo zabezpečení a navázání vztahu důvěryhodnosti mezi jednotlivými páry odesílatele-příjemce ve stromu transakcí.
Konfigurace přenosu HTTPS
Certifikáty X.509 slouží k vytvoření identity správce transakcí. Vyžaduje se ověření klienta nebo serveru a autorizace klienta/serveru zůstane v podrobnostech implementace:
R1111: Certifikáty X.509 prezentované přes drát musí mít název subjektu, který odpovídá plně kvalifikovanému názvu domény (FQDN) původního počítače.
B1112: Dns musí být funkční mezi každou dvojicí odesílatele-příjemce v systému, aby kontrola názvu subjektu X.509 byla úspěšná.
Konfigurace aktivační a registrační vazby
WCF vyžaduje duplexní vazbu požadavku nebo odpovědi s korelací přes HTTPS. (Další informace o korelaci a popisech vzorů výměny zpráv žádosti/odpovědi najdete v tématu WS-Atomic Transakce, oddíl 8.)
Konfigurace vazby protokolu 2PC
WCF podporuje jednosměrné zprávy (datagram) přes HTTPS. Korelace mezi zprávami je ponechána jako podrobnosti implementace.
B1131: Implementace musí podporovat wsa:ReferenceParameters , jak je popsáno v WS-Addressing, aby bylo dosaženo korelace zpráv WCF 2PC.
Smíšené zabezpečení správce transakcí
Jedná se o alternativní (smíšený režim) způsob zabezpečení, který kombinuje přenosové zabezpečení s modelem vystaveného tokenu WS-Coordination pro účely ustanovení identity. Aktivace a registrace jsou jediné prvky, které se mezi těmito dvěma vazbami liší.
Konfigurace přenosu HTTPS
Certifikáty X.509 slouží k vytvoření identity správce transakcí. Vyžaduje se ověřování klienta nebo serveru a autorizace klienta nebo serveru zůstane v podrobnostech implementace.
Konfigurace svázání aktivační zprávy
Aktivační zprávy se obvykle neúčastní interoperability, protože se obvykle vyskytují mezi aplikací a jejím místním správcem transakcí.
B1221: WCF používá pro aktivační zprávy duplexní vazbu HTTPS (popsanou v protokolech zasílání zpráv). Zprávy žádosti a odpovědi korelují pomocí WS-Addressing 2004/08 pro WS-AT 1.0 a WS-Addressing 2005/08 pro WS-AT 1.1.
WS-Atomic specifikace transakce, oddíl 8, popisuje další podrobnosti o korelaci a vzorech výměny zpráv.
R1222: Při přijetí
CreateCoordinationContextmusí koordinátor vydatSecurityContextTokens přidruženým tajnýmSTx. Tento token se vrátí vt:IssuedTokenshlavičce podle specifikace WS-Trust.R1223: Pokud k aktivaci dojde v rámci existujícího kontextu koordinace, hlavička
t:IssuedTokensspolu sSecurityContextTokenpřidruženým k existujícímu kontextu musí proudit ve zprávěCreateCoordinationContext.
Pro připojení k odchozí t:IssuedTokens zprávě by se měla vygenerovat nová wscoor:CreateCoordinationContextResponse hlavička.
Konfigurace vazby zpráv registrace
B1231: WCF používá duplexní vazbu HTTPS (popsanou v protokolech zasílání zpráv). Zprávy žádosti a odpovědi korelují pomocí WS-Addressing 2004/08 pro WS-AT 1.0 a WS-Addressing 2005/08 pro WS-AT 1.1.
WS-AtomicTransaction, oddíl 8, popisuje další podrobnosti o korelaci a popisy vzorů výměny zpráv.
R1232: Odchozí wscoor:Register zprávy musí používat IssuedTokenOverTransport režim ověřování popsaný v protokolech zabezpečení.
Element wsse:Timestamp musí být podepsán pomocí vydaného SecurityContextToken STx. Tento podpis je dokladem o vlastnictví tokenu přidruženého k určité transakci a slouží k ověření účastníka zařazení do transakce. Zpráva RegistrationResponse se odesílá zpět přes HTTPS.
Konfigurace vazby protokolu 2PC
WCF podporuje jednosměrné zprávy (datagram) přes HTTPS. Korelace mezi zprávami je ponechána jako podrobnosti implementace.
B1241: Implementace musí podporovat wsa:ReferenceParameters , jak je popsáno v WS-Addressing, aby bylo dosaženo korelace zpráv WCF 2PC.
Výměna zpráv aplikace
Aplikace mohou používat všechny konkrétní vazby pro zprávy typu aplikace-aplikace, pokud vazba splňuje následující požadavky na zabezpečení:
R2001: Zprávy mezi aplikacemi musí zachovat hlavičku
t:IssuedTokensspolu sCoordinationContextv hlavičce zprávy.R2002: Integrita a důvěrnost
t:IssuedTokenmusí být zajištěna.
Záhlaví CoordinationContext obsahuje wscoor:Identifier. I když definice xsd:AnyURI umožňuje použití absolutních i relativních identifikátorů URI, WCF podporuje pouze wscoor:Identifiers, což jsou absolutní identifikátory URI.
B2003: Pokud je wscoor:Identifier relativní identifikátor URI pro wscoor:CoordinationContext, budou vráceny chyby z transakčních služeb WCF.
Příklady zpráv
CreateCoordinationContext – zprávy požadavku a odpovědi
Následující zprávy se řídí vzorem žádosti a odpovědi.
VytvořitKoordinačníKontext pomocí WSCoor 1.0
<s:Envelope>
<s:Header>
<a:Action>http://.../ws/2004/10/wscoor/CreateCoordinationContext</Action>
<a:MessageID>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</MessageID>
<a:ReplyTo>
<Address>https://...</a:Address>
</a:ReplyTo>
<a:To>https://...</a:To>
<wsse:Security>
<u:Timestamp>
<wsu:Created>2005-12-15T23:36:09.921Z</wsu:Created>
<wsu:Expires>2005-12-15T23:41:09.921Z</wsu:Expires>
</u:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:CreateCoordinationContext>
<wscoor:CoordinationType>...</wscoor:CoordinationType>
</wscoor:CreateCoordinationContext>
</s:Body>
</s:Envelope>
CreateCoordinationContext s WSCoor 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext
</a:Action>
<a:MessageID>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</MessageID>
<a:ReplyTo>
<Address>https://...</a:Address>
</a:ReplyTo>
<a:To>https://...</a:To>
<wsse:Security>
<u:Timestamp>
<wsu:Created>2005-12-15T23:36:09.921Z</wsu:Created>
<wsu:Expires>2005-12-15T23:41:09.921Z</wsu:Expires>
</u:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:CreateCoordinationContext>
<wscoor:CoordinationType>...</wscoor:CoordinationType>
</wscoor:CreateCoordinationContext>
</s:Body>
</s:Envelope>
CreateCoordinationContextResponse s Trust Pre-1.3 a WSCoor 1.0
<s:Envelope>
<!-- Data below is shown in the clear for
illustration purposes only. -->
<s:Header>
<a:Action>./ws/2004/10/wscoor/CreateCoordinationContextResponse </a:Action>
<a:RelatesTo>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</a:RelatesTo>
<a:To s:mustUnderstand="1">https://... </a:To>
<t:IssuedTokens>
<wst:RequestSecurityTokenResponse
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"
xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<wst:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</wst:TokenType>
<wst:RequestedSecurityToken>
<wsc:SecurityContextToken>
<wssu:Identifier>
http://fabrikam123.com/SCTi
</wssu:Identifier>
</wsc:SecurityContextToken>
</wst:RequestedSecurityToken>
<wsp:AppliesTo>
http://fabrikam123.com/CCi
</wsp:AppliesTo>
<wst:RequestedAttachedReference>
<wsse:SecurityTokenReference >
<wsse:Reference
ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"
URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</wst:RequestedAttachedReference>
<wst:RequestedUnattachedReference>
<wsse:SecurityTokenReference>
<wsse:Reference
ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"
URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</wst:RequestedUnattachedReference>
<wst:RequestedProofToken>
<wst:BinarySecret
Type="http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey">
<!-- base64 encoded value -->
</wst:BinarySecret>
</wst:RequestedProofToken>
<wst:Lifetime>
<wssu:Created>2005-10-24T20:19:26.526Z</wssu:Created>
<wssu:Expires>2005-10-25T06:24:26.526Z</wssu:Expires>
</wst:Lifetime>
<wst:KeySize>256</wst:KeySize>
</wst:RequestSecurityTokenResponse>
</t:IssuedTokens>
<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2005-12-15T23:36:12.015Z</u:Created>
<u:Expires>2005-12-15T23:41:12.015Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<wscoor:CreateCoordinationContextResponse>
<wscoor:CoordinationContext>
<wscoor:Identifier>
http://fabrikam123.com/CCi
</wscoor:Identifier>
<wscoor:Expires>...</wscoor:Expires>
<wscoor:CoordinationType>...</wscoor:CoordinationType>
<wscoor:RegistrationService>
<a:Address>https://...</a:Address>
<a:ReferenceParameters>
...
</a:ReferenceParameters>
</wscoor:RegistrationService>
</wscoor:CoordinationContext>
</wscoor:CreateCoordinationContextResponse>
</s:Body>
</s:Envelope>
CreateCoordinationContextResponse s důvěryhodností 1.3 a WSCoor 1.1
<s:Envelope>
<!-- Data below is shown in the clear for illustration purposes only. -->
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContextResponse </a:Action>
<a:RelatesTo>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</a:RelatesTo>
<a:To s:mustUnderstand="1">https://... </a:To>
<t:IssuedTokens>
<wst:RequestSecurityTokenResponse
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512"
xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<wst:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</wst:TokenType>
<wst:RequestedSecurityToken>
<wsc:SecurityContextToken>
<wssu:Identifier> http://fabrikam123.com/SCTi
</wssu:Identifier>
</wsc:SecurityContextToken>
</wst:RequestedSecurityToken>
<wsp:AppliesTo> http://fabrikam123.com/CCi </wsp:AppliesTo>
<wst:RequestedAttachedReference>
<wsse:SecurityTokenReference >
<wsse:Reference
ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"
URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</wst:RequestedAttachedReference>
<wst:RequestedUnattachedReference>
<wsse:SecurityTokenReference>
<wsse:Reference
ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"
URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</wst:RequestedUnattachedReference>
<wst:RequestedProofToken>
<wst:BinarySecret
Type="http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey">
<!-- base64 encoded value -->
</wst:BinarySecret>
</wst:RequestedProofToken>
<wst:Lifetime>
<wssu:Created>2005-10-24T20:19:26.526Z</wssu:Created>
<wssu:Expires>2005-10-25T06:24:26.526Z</wssu:Expires>
</wst:Lifetime>
<wst:KeySize>256</wst:KeySize>
</wst:RequestSecurityTokenResponse>
</t:IssuedTokens>
<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2005-12-15T23:36:12.015Z</u:Created>
<u:Expires>2005-12-15T23:41:12.015Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<wscoor:CreateCoordinationContextResponse>
<wscoor:CoordinationContext>
<wscoor:Identifier> http://fabrikam123.com/CCi
</wscoor:Identifier>
<wscoor:Expires>...</wscoor:Expires>
<wscoor:CoordinationType>...</wscoor:CoordinationType>
<wscoor:RegistrationService>
<a:Address>https://...</a:Address>
<a:ReferenceParameters> ...
</a:ReferenceParameters>
</wscoor:RegistrationService>
</wscoor:CoordinationContext>
</wscoor:CreateCoordinationContextResponse>
</s:Body>
</s:Envelope>
Registrační zprávy
Následující zprávy jsou registrační zprávy.
Zaregistrujte se na WSCoor 1.0
<s:Envelope>
<s:Header>
<a:Action>http://schemas.xmlsoap.org/ws/2004/10/wscoor/Register</a:Action>
<a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e</a:MessageID>
<a:ReplyTo>
<a:Address>https://...</a:Address>
</a:ReplyTo>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp wssu:Id="_0" >
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
<wsc:SecurityContextToken>
<wssu:Identifier>
http://fabrikam123.com/SCTi
</wssu:Identifier>
</wsc:SecurityContextToken>
<!-- supporting signature over the timestamp -->
<wsse:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>
<ds:Reference URI="#_0">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>
alRzyhjLgoUOYoh8cx4n75eTcUk=
</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>YZYjnVvSOVasAQqQxaaviTSWtqI=</ds:SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Reference
URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</wsse:Signature>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:Register>
<wscoor:ProtocolIdentifier>...</wscoor:ProtocolIdentifier>
<wscoor:ParticipantProtocolService>
<a:Address>https://... </a:Address>
</wscoor:ParticipantProtocolService>
</wscoor:Register>
</s:Body>
</s:Envelope>
Registrujte se u WSCoor 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/Register</a:Action>
<a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e</a:MessageID>
<a:ReplyTo>
<a:Address>https://...</a:Address>
</a:ReplyTo>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp wssu:Id="_0" >
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
<wsc:SecurityContextToken>
<wssu:Identifier> http://fabrikam123.com/SCTi
</wssu:Identifier>
</wsc:SecurityContextToken>
<!-- supporting signature over the timestamp -->
<wsse:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>
<ds:Reference URI="#_0">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue> alRzyhjLgoUOYoh8cx4n75eTcUk=
</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>YZYjnVvSOVasAQqQxaaviTSWtqI=
</ds:SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Reference URI="http://fabrikam123.com/SCTi"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</wsse:Signature>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:Register>
<wscoor:ProtocolIdentifier>...</wscoor:ProtocolIdentifier>
<wscoor:ParticipantProtocolService>
<a:Address>https://... </a:Address>
</wscoor:ParticipantProtocolService>
</wscoor:Register>
</s:Body>
</s:Envelope>
Registrace odpovědi ve WSCoor 1.0
<s:Envelope>
<s:Header>
<a:Action>
http://schemas.xmlsoap.org/ws/2004/10/wscoor/RegisterResponse
</a:Action>
<a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088d</a:MessageID>
<a:RelatesTo>
urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e
</a:RelatesTo>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp>
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:RegisterResponse>
<wscoor:CoordinatorProtocolService>
<a:Address>https://...</a:Address>
<a:ReferenceParameters>
...
</a:ReferenceParameters>
</wscoor:CoordinatorProtocolService>
</wscoor:RegisterResponse>
</s:Body>
</s:Envelope>
Registrace odpovědi ve WSCooru 1.1
<s:Envelope>
<s:Header>
<a:Action> http://docs.oasis-open.org/ws-tx/wscoor/2006/06/RegisterResponse
</a:Action>
<a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088d</a:MessageID>
<a:RelatesTo> urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e </a:RelatesTo>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp>
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wscoor:RegisterResponse>
<wscoor:CoordinatorProtocolService>
<a:Address>https://...</a:Address>
<a:ReferenceParameters> ... </a:ReferenceParameters>
</wscoor:CoordinatorProtocolService>
</wscoor:RegisterResponse>
</s:Body>
</s:Envelope>
Zprávy dvoufázového potvrzovacího protokolu
Následující zpráva se týká dvoufázového potvrzení (2PC) protokolu.
Potvrzení pomocí WSAT 1.0
<s:Envelope>
<s:Header>
<a:Action>http://.../ws/2004/10/wsat/Commit</a:Action>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp wssu:Id="_0" >
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wsat:Commit />
</s:Body>
</s:Envelope>
Potvrzení pomocí WSAT 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wsat/2006/06</a:Action>
<a:To>https://...</a:To>
<wsse:Security
s:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wssu:Timestamp wssu:Id="_0" >
<wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>
<wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>
</wssu:Timestamp>
</wsse:Security>
</s:Header>
<s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<wsat:Commit />
</s:Body>
</s:Envelope>
Zprávy aplikace
Následující zprávy jsou zprávy aplikace.
Žádost o zprávu aplikace
<s:Envelope>
<s:Header>
<!-- Addressing headers, all signed-->
<wsse:Security s:mustUnderstand="1">
<wssu:Timestamp wssu:Id="timestamp">
<wssu:Created>2005-10-25T06:29:18.703Z</wssu:Created>
<wssu:Expires>2005-10-25T06:34:18.703Z</wssu:Expires>
</wssu:Timestamp>
<wsse:BinarySecurityToken
wssu:Id="IA_Certificate"
ValueType="...#X509v3"
EncodingType="...#Base64Binary">
<!-- IA certificate -->
</wsse:BinarySecurityToken>
<e:EncryptedKey Id="encrypted_key">
<!-- ephemeral key encrypted for PA certificate -->
<e:ReferenceList xmlns:e="http://www.w3.org/2001/04/xmlenc#">
<e:DataReference URI="#encrypted_body"/>
<e:DataReference URI="#encrypted_CCi"/>
<e:DataReference URI="#encrypted_issuedtokens"/>
</e:ReferenceList>
</e:EncryptedKey>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<!-- signature over Addressing headers, Timestamp, and Body -->
</Signature>
</wsse:Security>
<wsse11:EncryptedHeader>
<!-- encrypted wscoor:CoordinationContext header containing CCi -->
</wsse11:EncryptedHeader>
<wsse11:EncryptedHeader>
<!-- encrypted wst:IssuedTokens header containing SCTi -->
<!-- wst:IssuedTokens header is taken verbatim from message #2 above, omitted for brevity -->
</wsse11:EncryptedHeader>
</s:Header>
<s:Body wssu:Id="body">
<!-- encrypted content of the Body element of the application message -->
<e:EncryptedData Id="encrypted_body"
Type="http://www.w3.org/2001/04/xmlenc#Content"
xmlns:e="http://www.w3.org/2001/04/xmlenc#">
...
</e:EncryptedData>
</s:Body>
</s:Envelope>