2.2.3.19.1 CreateAccount Payload

The /CreateAccount/Payload element contains the payload specified as:

 <xs:schema xmlns:g="urn:groove.net" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:groove.net" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import/>
  <xs:element name="fragment">
  <xs:complexType>
   <xs:sequence>
   <xs:element ref="Event"/>
   </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="SE">
  <xs:complexType>
   <xs:sequence>
   <xs:element name="Cert">
    <xs:complexType>
    <xs:attribute name="EPKAlgo" type="xs:string" use="required" fixed="DH"/>
    <xs:attribute name="EPubKey" type="xs:base64Binary" use="required"/>
    <xs:attribute name="EncAlgo" type="xs:string" use="required"/>
    <xs:attribute name="SPKAlgo" type="xs:string" use="required" fixed="RSA"/>
    <xs:attribute name="SPubKey" type="xs:base64Binary" use="required"/>
    <xs:attribute name="SigAlgo" type="xs:string" use="required" fixed="RSA"/>
    </xs:complexType>
   </xs:element>
   <xs:element name="Auth">
    <xs:complexType>
    <xs:attribute name="Sig" type="xs:base64Binary" use="required"/>
    </xs:complexType>
   </xs:element>
   </xs:sequence>
   <xs:attribute name="CSMKey" type="xs:base64Binary" use="required"/>
  </xs:complexType>
  </xs:element>
 </xs:schema>

The referenced Event element is specified as:

 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="urn:groove.net"/>
  <xs:element name="Event">
  <xs:complexType>
   <xs:sequence>
   <xs:element xmlns:g="urn:groove.net" ref="g:SE"/>
   </xs:sequence>
   <xs:attribute name="DomainGUID" type="xs:string" use="required"/>
   <xs:attribute name="Encrypted" type="BooleanType" use="required"/>
   <xs:attribute name="GUID" type="xs:string" use="required"/>
   <xs:attribute name="IsDeviceAccount" type="BooleanType" use="required"/>
   <xs:attribute name="created" type="xs:int" use="required"/>
  </xs:complexType>
  </xs:element>
 </xs:schema>

The "g:SE" element is specified in the fragment element schema previously defined in this section. The SE element MUST be prefixed with "g:" where "g" stands for the namespace "xmlns:g="urn:groove.net".

The following table describes the payload XML elements and attributes:

XPath

Description

/fragment/Event

Service event element

/fragment/Event/@DomainGuid

Domain GUID

/fragment/Event/@Encrypted

Indicates whether the content is encrypted or not

/fragment/Event/@GUID

Account GUID

/fragment/Event/@IsDeviceAccount

A Boolean value MUST be true for a device account

/fragment/Event/@created

Message creation timestamp

/fragment/Event/SE

SE element

/fragment/Event/SE/@CSMKey

Secret key to be shared by the client and the server

/fragment/EventSE/Auth

Authenticator element

/fragment/EventSE/Auth/@Sig

Message signature

/fragment/Event/SE/Cert

Public key information element

/fragment/Event/SE/Cert/@EPKAlgo

Encryption public key algorithm. The value MUST be "DH".

/fragment/Event/SE/Cert/@EPubKey

Encryption public key, DER encoded

/fragment/Event/SE/Cert/@EncAlgo

Encryption algorithm. The value MUST be "RSA" or "ELGAMAL".

/fragment/Event/SE/Cert/@SPKAlgo

Signature public key algorithm. The value MUST be "RSA".

/fragment/Event/SE/Cert/@SPubKey

Signature public key, DER encoded

/fragment/Event/SE/Cert/@SigAlgo

Signature algorithm. The value MUST be "RSA".