예제 #1
0
 // #method ConnectionExample ExampleData Example
 //
 // ConnectionExample
 //
 public void ConnectionExample(ExampleData Example)
 {
     // #% Service = Example.OmnibrokerService;
      Service = Example.OmnibrokerService;
     // #% WrapWriter WrapWriter = (WrapWriter) _Output;
      WrapWriter WrapWriter = (WrapWriter) _Output;
     // #% WrapWriter.MinLeading = "  ";
      WrapWriter.MinLeading = "  ";
     // #% WrapWriter.WrappedLeading = "  ";
      WrapWriter.WrappedLeading = "  ";
     // #% WrapWriter.Width = 66;
      WrapWriter.Width = 66;
     // <!-- Begin section of automatically generated text
     _Output.Write ("<!-- Begin section of automatically generated text\n{0}", _Indent);
     // 	Line wrap = #{WrapWriter.Width}
     _Output.Write ("	Line wrap = {1}\n{0}", _Indent, WrapWriter.Width);
     //    -->
     _Output.Write ("   -->\n{0}", _Indent);
     //         <section title="Illustrative example" anchor="ConnectionRequestExample">
     _Output.Write ("        <section title=\"Illustrative example\" anchor=\"ConnectionRequestExample\">\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Alice is an employee of Example Inc. which runs its own
     _Output.Write ("            Alice is an employee of Example Inc. which runs its own\n{0}", _Indent);
     //             local omnibroker service '#{Example.OmnibrokerService}'.
     _Output.Write ("            local omnibroker service '{1}'. \n{0}", _Indent, Example.OmnibrokerService);
     // 			To configure her machine for use
     _Output.Write ("			To configure her machine for use\n{0}", _Indent);
     //             with this service, Alice contacts her network
     _Output.Write ("            with this service, Alice contacts her network\n{0}", _Indent);
     //             administrator who assigns her the account identifier
     _Output.Write ("            administrator who assigns her the account identifier\n{0}", _Indent);
     //             '#{Example.Username}' and obtains a PIN number from the service
     _Output.Write ("            '{1}' and obtains a PIN number from the service \n{0}", _Indent, Example.Username);
     //             '#{Example.PIN}'
     _Output.Write ("            '{1}'\n{0}", _Indent, Example.PIN);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Alice enters the values '#{Example.Username}@#{Example.OmnibrokerService}' and
     _Output.Write ("            Alice enters the values '{1}@{2}' and\n{0}", _Indent, Example.Username, Example.OmnibrokerService);
     //             '#{Example.PIN}' into her Omnibroker-enabled
     _Output.Write ("            '{1}' into her Omnibroker-enabled \n{0}", _Indent, Example.PIN);
     //             Web browser.
     _Output.Write ("            Web browser.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //
     _Output.Write ("          \n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The Web browser uses the local DNS to resolve '#{Example.OmnibrokerService}'
     _Output.Write ("            The Web browser uses the local DNS to resolve '{1}'\n{0}", _Indent, Example.OmnibrokerService);
     //             and establishes a HTTPS connection to the specified IP address.
     _Output.Write ("            and establishes a HTTPS connection to the specified IP address.\n{0}", _Indent);
     //             The client verifies that the certificate presented has a valid
     _Output.Write ("            The client verifies that the certificate presented has a valid\n{0}", _Indent);
     //             certificate chain to an embedded trust anchor under an
     _Output.Write ("            certificate chain to an embedded trust anchor under an \n{0}", _Indent);
     //             appropriate certificate policy (e.g. compliant with the Extended Validation
     _Output.Write ("            appropriate certificate policy (e.g. compliant with the Extended Validation\n{0}", _Indent);
     //             Criteria defined by CA-Browser Forum).
     _Output.Write ("            Criteria defined by CA-Browser Forum).\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Having established an authenticated and encrypted TLS
     _Output.Write ("            Having established an authenticated and encrypted TLS \n{0}", _Indent);
     //             session to the Omnibroker service, the client sends
     _Output.Write ("            session to the Omnibroker service, the client sends\n{0}", _Indent);
     //             an OpenRequest message to begin the process of mutual
     _Output.Write ("            an OpenRequest message to begin the process of mutual \n{0}", _Indent);
     //             authentication. This message specifies the cryptographic
     _Output.Write ("            authentication. This message specifies the cryptographic\n{0}", _Indent);
     //             parameters supported by the client (Authentication, Encryption)
     _Output.Write ("            parameters supported by the client (Authentication, Encryption)\n{0}", _Indent);
     //             and a nonce value (Challenge), device identification
     _Output.Write ("            and a nonce value (Challenge), device identification\n{0}", _Indent);
     //             parameters (DeviceID, DeviceURI, DeviceName) and the
     _Output.Write ("            parameters (DeviceID, DeviceURI, DeviceName) and the\n{0}", _Indent);
     //             name of the account being requested.
     _Output.Write ("            name of the account being requested.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The client does not specify the PIN code in the initial Request,
     _Output.Write ("            The client does not specify the PIN code in the initial request, \n{0}", _Indent);
     //             nor is the Request authenticated. Instead the client informs
     _Output.Write ("            nor is the request authenticated. Instead the client informs\n{0}", _Indent);
     //             the server that it has a PIN code that can be supplied if
     _Output.Write ("            the server that it has a PIN code that can be supplied if\n{0}", _Indent);
     //             necessary.
     _Output.Write ("            necessary. \n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.OpenRequest
     ExampleWSMessage (Example.OpenRequest);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The service receives the Request. If the Request is consistent
     _Output.Write ("            The service receives the request. If the request is consistent \n{0}", _Indent);
     //             with the access control policy for the server it returns a
     _Output.Write ("            with the access control policy for the server it returns a \n{0}", _Indent);
     //             reply that specifies the chosen cryptographic parameters
     _Output.Write ("            reply that specifies the chosen cryptographic parameters \n{0}", _Indent);
     //             (Cryptographic), responds to the client issued by the
     _Output.Write ("            (Cryptographic), responds to the client issued by the \n{0}", _Indent);
     //             client to establish server proof of knowsledge of the PIN
     _Output.Write ("            client to establish server proof of knowsledge of the PIN\n{0}", _Indent);
     //             (ChallengeResponse) and issues a challenge to the client
     _Output.Write ("            (ChallengeResponse) and issues a challenge to the client \n{0}", _Indent);
     //             (Challenge).
     _Output.Write ("            (Challenge).\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The cryptographic parameters specify algorithms to be used
     _Output.Write ("            The cryptographic parameters specify algorithms to be used \n{0}", _Indent);
     //             for encryption and authentication, a shared secret and a
     _Output.Write ("            for encryption and authentication, a shared secret and a \n{0}", _Indent);
     //             ticket value. Note that while the shared secret is exchanged
     _Output.Write ("            ticket value. Note that while the shared secret is exchanged \n{0}", _Indent);
     //             in plaintext form in the HTTP binding, the connection
     _Output.Write ("            in plaintext form in the HTTP binding, the connection\n{0}", _Indent);
     //             protocol MUST provide encryption.
     _Output.Write ("            protocol MUST provide encryption.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.OpenResponse
     ExampleWSMessage (Example.OpenResponse);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             To complete the transaction, the client sends a TicketRequest message
     _Output.Write ("            To complete the transaction, the client sends a TicketRequest message\n{0}", _Indent);
     //             to the serice containing a Response to the PIN challenge sent by the
     _Output.Write ("            to the serice containing a response to the PIN challenge sent by the\n{0}", _Indent);
     //             service (ChallengeResponse).
     _Output.Write ("            service (ChallengeResponse).\n{0}", _Indent);
     //             The TicketRequest message is authenticated under the shared secret specified
     _Output.Write ("            The TicketRequest message is authenticated under the shared secret specified\n{0}", _Indent);
     //             in the OpenResponse message.
     _Output.Write ("            in the OpenResponse message.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // #call ExampleWSMessage Example.TicketRequest
     ExampleWSMessage (Example.TicketRequest);
     //
     _Output.Write ("\n{0}", _Indent);
     // <t>
     _Output.Write ("<t>\n{0}", _Indent);
     //   If the Response to the PIN challenge is correct, the service responds
     _Output.Write ("  If the response to the PIN challenge is correct, the service responds\n{0}", _Indent);
     //   with a message that specifies a set of cryptographic parameters to be
     _Output.Write ("  with a message that specifies a set of cryptographic parameters to be\n{0}", _Indent);
     //   used to authenticate future interactions with the service (Cryptographic)
     _Output.Write ("  used to authenticate future interactions with the service (Cryptographic) \n{0}", _Indent);
     //   and a set of connection parameters for servers supporting the
     _Output.Write ("  and a set of connection parameters for servers supporting the \n{0}", _Indent);
     //   Query Service (Service).
     _Output.Write ("  Query Service (Service).\n{0}", _Indent);
     // </t>
     _Output.Write ("</t>\n{0}", _Indent);
     //   <t>
     _Output.Write ("  <t>\n{0}", _Indent);
     //     In this case the server returns three connections, each offering a
     _Output.Write ("    In this case the server returns three connections, each offering a\n{0}", _Indent);
     //     different transport protocol option. Each connection specifies its
     _Output.Write ("    different transport protocol option. Each connection specifies its\n{0}", _Indent);
     //     own set of cryptographic parameters (or will when the code is written
     _Output.Write ("    own set of cryptographic parameters (or will when the code is written\n{0}", _Indent);
     //     for that).
     _Output.Write ("    for that).\n{0}", _Indent);
     //   </t>
     _Output.Write ("  </t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.TicketResponse
     ExampleWSMessage (Example.TicketResponse);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             When Alice's machine is to be transfered to another employee, the
     _Output.Write ("            When Alice's machine is to be transfered to another employee, the \n{0}", _Indent);
     //             Unbind transaction is used. The only parameter required is the
     _Output.Write ("            Unbind transaction is used. The only parameter required is the\n{0}", _Indent);
     //             Ticket identifying the device association (Ticket).
     _Output.Write ("            Ticket identifying the device association (Ticket).\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.UnbindRequest
     ExampleWSMessage (Example.UnbindRequest);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Since the unbind Response represents the termination of the
     _Output.Write ("            Since the unbind response represents the termination of the\n{0}", _Indent);
     //             relationship with the Omnibroker, the Response merely reports
     _Output.Write ("            relationship with the Omnibroker, the response merely reports\n{0}", _Indent);
     //             the success or failure of the Request.
     _Output.Write ("            the success or failure of the request.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.UnbindResponse
     ExampleWSMessage (Example.UnbindResponse);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The 'Ticket' value presented in the foregoing examples is
     _Output.Write ("            The 'Ticket' value presented in the foregoing examples is \n{0}", _Indent);
     //             a sequence of binary data generated by the service that is
     _Output.Write ("            a sequence of binary data generated by the service that is\n{0}", _Indent);
     //             opaque to the client. Services MAY generate ticket values
     _Output.Write ("            opaque to the client. Services MAY generate ticket values \n{0}", _Indent);
     //             with a substructure that enable the service to avoid
     _Output.Write ("            with a substructure that enable the service to avoid\n{0}", _Indent);
     //             the need to maintain server side state.
     _Output.Write ("            the need to maintain server side state.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           In the foregoing example, the ticket structures generated
     _Output.Write ("          In the foregoing example, the ticket structures generated\n{0}", _Indent);
     //           by the service encode the cryptographic parameter data,
     _Output.Write ("          by the service encode the cryptographic parameter data,\n{0}", _Indent);
     //           the shared secret, account identifier and an authentication
     _Output.Write ("          the shared secret, account identifier and an authentication \n{0}", _Indent);
     //           value. The initial ticket value generated additionally encodes
     _Output.Write ("          value. The initial ticket value generated additionally encodes\n{0}", _Indent);
     //           the values of the client and service challeng values for use
     _Output.Write ("          the values of the client and service challeng values for use\n{0}", _Indent);
     //           in calculating the necessary ChallengeResponse.
     _Output.Write ("          in calculating the necessary ChallengeResponse.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //
     _Output.Write ("      \n{0}", _Indent);
     //         </section>
     _Output.Write ("        </section>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // 		<!-- End section of automatically generated text -->
     _Output.Write ("		<!-- End section of automatically generated text -->\n{0}", _Indent);
     // #end method
 }
예제 #2
0
 //
 //
 // #method QueryExample ExampleData Example
 //
 // QueryExample
 //
 public void QueryExample(ExampleData Example)
 {
     // #% Service = Example.OmnibrokerService;
      Service = Example.OmnibrokerService;
     // #% WrapWriter WrapWriter = (WrapWriter) _Output;
      WrapWriter WrapWriter = (WrapWriter) _Output;
     // #% WrapWriter.MinLeading = "  ";
      WrapWriter.MinLeading = "  ";
     // #% WrapWriter.WrappedLeading = "  ";
      WrapWriter.WrappedLeading = "  ";
     // #% WrapWriter.Width = 66;
      WrapWriter.Width = 66;
     // <!-- Begin section of automatically generated text
     _Output.Write ("<!-- Begin section of automatically generated text\n{0}", _Indent);
     // 	Line wrap = #{WrapWriter.Width}
     _Output.Write ("	Line wrap = {1}\n{0}", _Indent, WrapWriter.Width);
     //    -->
     _Output.Write ("   -->\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         <section title="Illustrative example">
     _Output.Write ("        <section title=\"Illustrative example\">\n{0}", _Indent);
     // 		  <t>
     _Output.Write ("		  <t>\n{0}", _Indent);
     // 			[For illustrative purposes, all the examples in this section
     _Output.Write ("			[For illustrative purposes, all the examples in this section\n{0}", _Indent);
     // 			are shown using the Web Services Transport binding.
     _Output.Write ("			are shown using the Web Services Transport binding. \n{0}", _Indent);
     // 			Examples of other transport bindgins are shown in
     _Output.Write ("			Examples of other transport bindgins are shown in \n{0}", _Indent);
     // 			section [TBS].]
     _Output.Write ("			section [TBS].]\n{0}", _Indent);
     // 		  </t>
     _Output.Write ("		  </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     // 		     The Alice of the previous example uses her Web browser to
     _Output.Write ("		     The Alice of the previous example uses her Web browser to\n{0}", _Indent);
     // 			 access the URL #{Example.QueryConnectURL}. Assuming this was done while
     _Output.Write ("			 access the URL {1}. Assuming this was done while\n{0}", _Indent, Example.QueryConnectURL);
     // 			 the prior binding was still active (i.e. before the UnbindRequest
     _Output.Write ("			 the prior binding was still active (i.e. before the UnbindRequest\n{0}", _Indent);
     // 			 message was sent), the Web browser would send a QueryConnectRequest
     _Output.Write ("			 message was sent), the Web browser would send a QueryConnectRequest \n{0}", _Indent);
     // 			 Request to obtain the best connection parameters for the
     _Output.Write ("			 request to obtain the best connection parameters for the \n{0}", _Indent);
     // 			 #{Example.QueryConnectSite} protocol at
     _Output.Write ("			 {1} protocol at \n{0}", _Indent, Example.QueryConnectSite);
     // 			 #{Example.QueryConnectProtocol}:
     _Output.Write ("			 {1}:\n{0}", _Indent, Example.QueryConnectProtocol);
     // 		  </t>
     _Output.Write ("		  </t>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // #call ExampleWSMessage Example.QueryConnectRequest
     ExampleWSMessage (Example.QueryConnectRequest);
     // 		<t>
     _Output.Write ("		<t>\n{0}", _Indent);
     // 			The service responds with an ordered list of possible connections.
     _Output.Write ("			The service responds with an ordered list of possible connections.\n{0}", _Indent);
     // 			In this case the site is accessible via plain TCP transport or with
     _Output.Write ("			In this case the site is accessible via plain TCP transport or with\n{0}", _Indent);
     // 			TLS. Since TLS is the preferred protocol, that connection is
     _Output.Write ("			TLS. Since TLS is the preferred protocol, that connection is\n{0}", _Indent);
     // 			listed first.
     _Output.Write ("			listed first.\n{0}", _Indent);
     // 		</t>
     _Output.Write ("		</t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.QueryConnectResponse
     ExampleWSMessage (Example.QueryConnectResponse);
     // 		<t>
     _Output.Write ("		<t>\n{0}", _Indent);
     // 			Although the QueryConnectResponse returned the hash of a PKIX
     _Output.Write ("			Although the QueryConnectResponse returned the hash of a PKIX\n{0}", _Indent);
     // 			certificate considered valid for that connection, the server
     _Output.Write ("			certificate considered valid for that connection, the server\n{0}", _Indent);
     // 			returns a different certificate which the client verifies using
     _Output.Write ("			returns a different certificate which the client verifies using\n{0}", _Indent);
     // 			the ValidateRequest query.
     _Output.Write ("			the ValidateRequest query.\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // 		</t>
     _Output.Write ("		</t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.QueryValidateRequest
     ExampleWSMessage (Example.QueryValidateRequest);
     // 		<t>
     _Output.Write ("		<t>\n{0}", _Indent);
     // 			The service validates the certificate according to the
     _Output.Write ("			The service validates the certificate according to the \n{0}", _Indent);
     // 			Omnibroker service policy.
     _Output.Write ("			Omnibroker service policy. \n{0}", _Indent);
     // 		</t>
     _Output.Write ("		</t>\n{0}", _Indent);
     // #call ExampleWSMessage Example.QueryValidateResponse
     ExampleWSMessage (Example.QueryValidateResponse);
     // 		</section>
     _Output.Write ("		</section>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // 		<!-- End section of automatically generated text -->
     _Output.Write ("		<!-- End section of automatically generated text -->\n{0}", _Indent);
     // #end method
 }
예제 #3
0
 //
 //
 // #method MutualAuth ExampleData Example
 //
 // MutualAuth
 //
 public void MutualAuth(ExampleData Example)
 {
     //
     _Output.Write ("\n{0}", _Indent);
     //     <section title ="Mutual Authentication" anchor="MutualAuth">
     _Output.Write ("    <section title =\"Mutual Authentication\" anchor=\"MutualAuth\">\n{0}", _Indent);
     //       <t>
     _Output.Write ("      <t>\n{0}", _Indent);
     //         A Connection Service MAY require that a connection Request be
     _Output.Write ("        A Connection Service MAY require that a connection request be \n{0}", _Indent);
     //         authenticated. Three authentication mechanisms are defined.
     _Output.Write ("        authenticated. Three authentication mechanisms are defined.\n{0}", _Indent);
     //       </t>
     _Output.Write ("      </t>\n{0}", _Indent);
     //       <t>
     _Output.Write ("      <t>\n{0}", _Indent);
     //         <list>
     _Output.Write ("        <list>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             PIN Code: The client and server demonstrate mutual knowledge of
     _Output.Write ("            PIN Code: The client and server demonstrate mutual knowledge of\n{0}", _Indent);
     //             a PIN code previously exchanged out of band.
     _Output.Write ("            a PIN code previously exchanged out of band.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Established Key: The client and server demonstrate knowledge of the
     _Output.Write ("            Established Key: The client and server demonstrate knowledge of the\n{0}", _Indent);
     //             private key associated with a credential previously
     _Output.Write ("            private key associated with a credential previously \n{0}", _Indent);
     //             established. This MAY be a public key or a symmetric key.
     _Output.Write ("            established. This MAY be a public key or a symmetric key.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Out of Band Confirmation: The Request for access is
     _Output.Write ("            Out of Band Confirmation: The request for access is \n{0}", _Indent);
     //             forwarded to an out of band confirmation service.
     _Output.Write ("            forwarded to an out of band confirmation service.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //         </list>
     _Output.Write ("        </list>\n{0}", _Indent);
     //       </t>
     _Output.Write ("      </t>\n{0}", _Indent);
     //
     _Output.Write ("    \n{0}", _Indent);
     //       <section title ="PIN Authentication" anchor="ChallengeResponse">
     _Output.Write ("      <section title =\"PIN Authentication\" anchor=\"ChallengeResponse\">\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           [Motivation]
     _Output.Write ("          [Motivation]\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Although the PIN value is never exposed on the wire in any form,
     _Output.Write ("          Although the PIN value is never exposed on the wire in any form,\n{0}", _Indent);
     //           the protcol considers the PIN value to be a text string encoded
     _Output.Write ("          the protcol considers the PIN value to be a text string encoded \n{0}", _Indent);
     //           in UTF8 encoding.
     _Output.Write ("          in UTF8 encoding.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           [Considerations for PIN character set choice discussed in body
     _Output.Write ("          [Considerations for PIN character set choice discussed in body\n{0}", _Indent);
     //           of draft, servers MUST support numeric only, clients SHOULD
     _Output.Write ("          of draft, servers MUST support numeric only, clients SHOULD \n{0}", _Indent);
     //           support full Unicode]
     _Output.Write ("          support full Unicode]\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The PIN Mechanism is a three step process:
     _Output.Write ("          The PIN Mechanism is a three step process:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           <list>
     _Output.Write ("          <list>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The client sends an OpenRequest message to the Service containing
     _Output.Write ("              The client sends an OpenRequest message to the Service containing \n{0}", _Indent);
     //               a challenge value CC.
     _Output.Write ("              a challenge value CC.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The service returns an OpenResponse message containing to the client a server
     _Output.Write ("              The service returns an OpenResponse message containing to the client a server\n{0}", _Indent);
     //               challenge value SV and a server Response value SR.
     _Output.Write ("              challenge value SV and a server response value SR.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The client sends a TicketRequest message to the service containing
     _Output.Write ("              The client sends a TicketRequest message to the service containing\n{0}", _Indent);
     //               a client Response value CR.
     _Output.Write ("              a client response value CR.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //           </list>
     _Output.Write ("          </list>\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Since no prior authentication key has been established, the
     _Output.Write ("          Since no prior authentication key has been established, the \n{0}", _Indent);
     //           OpenRequest and OpenResponse messages are initially sent without
     _Output.Write ("          OpenRequest and OpenResponse messages are initially sent without \n{0}", _Indent);
     //           authentication and authentication values established by the
     _Output.Write ("          authentication and authentication values established by the\n{0}", _Indent);
     //           Challenge-Response mechanism.
     _Output.Write ("          Challenge-Response mechanism.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The Challenge values CC,  and SC are cryptographic nonces. The nonces
     _Output.Write ("          The Challenge values CC,  and SC are cryptographic nonces. The nonces \n{0}", _Indent);
     //           SHOULD be generated using an appropriate cryptographic random
     _Output.Write ("          SHOULD be generated using an appropriate cryptographic random\n{0}", _Indent);
     //           source. The nonces MUST be at least as long as 128 bits, MUST be at least
     _Output.Write ("          source. The nonces MUST be at least as long as 128 bits, MUST be at least \n{0}", _Indent);
     //           the minimum key size
     _Output.Write ("          the minimum key size \n{0}", _Indent);
     //           of the authentication algorithm used and MUST NOT more than 640 bits
     _Output.Write ("          of the authentication algorithm used and MUST NOT more than 640 bits \n{0}", _Indent);
     //           in length (640 bits should be enough for anybody).
     _Output.Write ("          in length (640 bits should be enough for anybody).\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The server Response and client Response values are generated
     _Output.Write ("          The server response and client response values are generated\n{0}", _Indent);
     //           using an authentication algorithm selected by the server from the
     _Output.Write ("          using an authentication algorithm selected by the server from the\n{0}", _Indent);
     //           choices proposed by the client in the OpenRequest message.
     _Output.Write ("          choices proposed by the client in the OpenRequest message.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The algorithn chosen may be a MAC algorithm or an
     _Output.Write ("          The algorithn chosen may be a MAC algorithm or an \n{0}", _Indent);
     //           encrypt-with-authentication (EWA) algorithm. If an EWA is specified,
     _Output.Write ("          encrypt-with-authentication (EWA) algorithm. If an EWA is specified, \n{0}", _Indent);
     //           the encrypted data is discarded and only the authentication
     _Output.Write ("          the encrypted data is discarded and only the authentication \n{0}", _Indent);
     //           value is used in its place.
     _Output.Write ("          value is used in its place.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Let A(d,k) be the authentication value obtained by applying the
     _Output.Write ("          Let A(d,k) be the authentication value obtained by applying the \n{0}", _Indent);
     //           authentication algorithm with key k to data d.
     _Output.Write ("          authentication algorithm with key k to data d.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           To create the Server Response value, the UTF8 encoding of the
     _Output.Write ("          To create the Server Response value, the UTF8 encoding of the\n{0}", _Indent);
     //           PIN value 'P' is
     _Output.Write ("          PIN value 'P' is \n{0}", _Indent);
     //           first converted into a symmetric key KPC by using the Client
     _Output.Write ("          first converted into a symmetric key KPC by using the Client\n{0}", _Indent);
     //           challenge value as the key
     _Output.Write ("          challenge value as the key\n{0}", _Indent);
     //           truncating if necessary and then applied to the payload of the
     _Output.Write ("          truncating if necessary and then applied to the payload of the\n{0}", _Indent);
     //           OpenRequest message:
     _Output.Write ("          OpenRequest message:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           KPC = A (PIN, CC)
     _Output.Write ("          KPC = A (PIN, CC)\n{0}", _Indent);
     //           SR = A (Secret + SC + OpenRequest, KPC)
     _Output.Write ("          SR = A (Secret + SC + OpenRequest, KPC)\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           In the Web Service Binding, the Payload of the message is the
     _Output.Write ("          In the Web Service Binding, the Payload of the message is the \n{0}", _Indent);
     //           HTTP Body as presented on the wire. The Secret and Server
     _Output.Write ("          HTTP Body as presented on the wire. The Secret and Server \n{0}", _Indent);
     //           Challenge are presented in their
     _Output.Write ("          Challenge are presented in their\n{0}", _Indent);
     //           binary format and the '+' operator stands for simple concatenation
     _Output.Write ("          binary format and the '+' operator stands for simple concatenation\n{0}", _Indent);
     //           of the binary sequences.
     _Output.Write ("          of the binary sequences.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           This protocol construction ensures that the party constructing
     _Output.Write ("          This protocol construction ensures that the party constructing\n{0}", _Indent);
     //           SR:
     _Output.Write ("          SR:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           <list>
     _Output.Write ("          <list>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Knows the PIN code value (through the construction of KPC).
     _Output.Write ("              Knows the PIN code value (through the construction of KPC).\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Is responding to the Open Request Message (SR depends on
     _Output.Write ("              Is responding to the Open Request Message (SR depends on \n{0}", _Indent);
     //               OpenRequest).
     _Output.Write ("              OpenRequest).\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Has knowlege of the secret key which MUST be used to
     _Output.Write ("              Has knowlege of the secret key which MUST be used to \n{0}", _Indent);
     //               authenticate the following TicketRequest/TicketResponse
     _Output.Write ("              authenticate the following TicketRequest/TicketResponse\n{0}", _Indent);
     //               interaction that will establish the actual connection.
     _Output.Write ("              interaction that will establish the actual connection.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Does not provide an oracle the PIN value. That is, the protocol
     _Output.Write ("              Does not provide an oracle the PIN value. That is, the protocol \n{0}", _Indent);
     //               does not provide a service that reveals the (since the value SR
     _Output.Write ("              does not provide a service that reveals the (since the value SR\n{0}", _Indent);
     //               includes the value SC which is a random nonce generated
     _Output.Write ("              includes the value SC which is a random nonce generated\n{0}", _Indent);
     //               by the server and cannot be predicted by the client).
     _Output.Write ("              by the server and cannot be predicted by the client).\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //           </list>
     _Output.Write ("          </list>\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           To create the Client Response value, secret key is applied
     _Output.Write ("          To create the Client Response value, secret key is applied \n{0}", _Indent);
     //           to the PIN value and server Challenge:
     _Output.Write ("          to the PIN value and server Challenge:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           CR = A (PIN + SC + OpenRequest, Secret)
     _Output.Write ("          CR = A (PIN + SC + OpenRequest, Secret)\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //                 <t>
     _Output.Write ("                <t>\n{0}", _Indent);
     //           Note that the server can calculate the value of the Client Response
     _Output.Write ("          Note that the server can calculate the value of the Client Response\n{0}", _Indent);
     //           token at the time that it generates the Server Challenge.
     _Output.Write ("          token at the time that it generates the Server Challenge.\n{0}", _Indent);
     //           This minimizes the amount of state that needs to be carried from
     _Output.Write ("          This minimizes the amount of state that needs to be carried from \n{0}", _Indent);
     //           one Request to the next in the Ticket value when using the stateless
     _Output.Write ("          one request to the next in the Ticket value when using the stateless\n{0}", _Indent);
     //           server implementation described in section <xref target="stateless"/>
     _Output.Write ("          server implementation described in section <xref target=\"stateless\"/>\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           This protocol construction ensures that the constructor of CR
     _Output.Write ("          This protocol construction ensures that the constructor of CR\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           <list>
     _Output.Write ("          <list>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Knows the PIN value.
     _Output.Write ("              Knows the PIN value.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               Is respoding to the OpenResponse generated by the server.
     _Output.Write ("              Is respoding to the OpenResponse generated by the server.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //           </list>
     _Output.Write ("          </list>\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Note that while disclosure of an oracle for the PIN value is a
     _Output.Write ("          Note that while disclosure of an oracle for the PIN value is a \n{0}", _Indent);
     //           concern in the
     _Output.Write ("          concern in the \n{0}", _Indent);
     //           construction of CR, this is not the case in the construction of
     _Output.Write ("          construction of CR, this is not the case in the construction of \n{0}", _Indent);
     //           SR since the client has already demonstrated knowledge of the
     _Output.Write ("          SR since the client has already demonstrated knowledge of the \n{0}", _Indent);
     //           PIN value.
     _Output.Write ("          PIN value.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         </section>
     _Output.Write ("        </section>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         <section title="Example: Latin PIN Code">
     _Output.Write ("        <section title=\"Example: Latin PIN Code\">\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The Connection Request example of section
     _Output.Write ("            The Connection Request example of section \n{0}", _Indent);
     //             <xref target="ConnectionRequestExample"/> demonstrates the use
     _Output.Write ("            <xref target=\"ConnectionRequestExample\"/> demonstrates the use\n{0}", _Indent);
     //             of an alphanumeric PIN code using the Latin alphabet.
     _Output.Write ("            of an alphanumeric PIN code using the Latin alphabet.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The PIN code is [] and the authentication algorithm is [].
     _Output.Write ("            The PIN code is [] and the authentication algorithm is [].\n{0}", _Indent);
     //             The value KP is thus:
     _Output.Write ("            The value KP is thus:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The data over which the hash value is calulated is
     _Output.Write ("            The data over which the hash value is calulated is\n{0}", _Indent);
     //             Secret + SC + OpenRequest:
     _Output.Write ("            Secret + SC + OpenRequest:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Applying the derrived key to the data produces the server
     _Output.Write ("            Applying the derrived key to the data produces the server \n{0}", _Indent);
     //             Response:
     _Output.Write ("            response:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The data for the client Response is PIN + SC:
     _Output.Write ("            The data for the client response is PIN + SC:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             Applying the secret key to the data produces the client
     _Output.Write ("            Applying the secret key to the data produces the client\n{0}", _Indent);
     //             Response:
     _Output.Write ("            response:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //         </section>
     _Output.Write ("        </section>\n{0}", _Indent);
     //         <section title="Example: Cyrillic PIN Code">
     _Output.Write ("        <section title=\"Example: Cyrillic PIN Code\">\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             If the PIN code in the earlier example was [] the
     _Output.Write ("            If the PIN code in the earlier example was [] the\n{0}", _Indent);
     //             value KP would be:
     _Output.Write ("            value KP would be:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>          \n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The Server Response would be:
     _Output.Write ("            The Server Response would be:\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             [TBS]
     _Output.Write ("            [TBS]\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //           <t>
     _Output.Write ("          <t>\n{0}", _Indent);
     //             The rest of the protocol would then continue as before.
     _Output.Write ("            The rest of the protocol would then continue as before.\n{0}", _Indent);
     //           </t>
     _Output.Write ("          </t>\n{0}", _Indent);
     //         </section>
     _Output.Write ("        </section>\n{0}", _Indent);
     //       <section title="Stateless server" anchor="stateless">
     _Output.Write ("      <section title=\"Stateless server\" anchor=\"stateless\">\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The protocol is designed to permit but not require a stateless
     _Output.Write ("          The protocol is designed to permit but not require a stateless\n{0}", _Indent);
     //           implementation by the server using the Ticket value generated by the
     _Output.Write ("          implementation by the server using the Ticket value generated by the \n{0}", _Indent);
     //           server to pass state from the first server transaction to the
     _Output.Write ("          server to pass state from the first server transaction to the\n{0}", _Indent);
     //           second.
     _Output.Write ("          second.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           In the example shown in <xref target="ConnectionRequestExample"/>,
     _Output.Write ("          In the example shown in <xref target=\"ConnectionRequestExample\"/>, \n{0}", _Indent);
     //         the server generates a 'temporary ticket' containing the
     _Output.Write ("        the server generates a 'temporary ticket' containing the \n{0}", _Indent);
     //         following information:
     _Output.Write ("        following information:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           If a server uses the Ticket to transmit state in this way it
     _Output.Write ("          If a server uses the Ticket to transmit state in this way it\n{0}", _Indent);
     //           MUST protect the confidentiality of the ticket using a strong
     _Output.Write ("          MUST protect the confidentiality of the ticket using a strong\n{0}", _Indent);
     //           means of encryption and authentication.
     _Output.Write ("          means of encryption and authentication.\n{0}", _Indent);
     //          </t>
     _Output.Write ("         </t>\n{0}", _Indent);
     //       </section>
     _Output.Write ("      </section>\n{0}", _Indent);
     //       <section title ="Established Key" anchor="PublicKeyAuth">
     _Output.Write ("      <section title =\"Established Key\" anchor=\"PublicKeyAuth\">\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The Established Key mechanism is used when the parties have
     _Output.Write ("          The Established Key mechanism is used when the parties have\n{0}", _Indent);
     //           an existing shared key or public key credential.
     _Output.Write ("          an existing shared key or public key credential.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The
     _Output.Write ("          The \n{0}", _Indent);
     //           [Open Request open Response are authenticated under the
     _Output.Write ("          [Open request open response are authenticated under the\n{0}", _Indent);
     //           respective keys]
     _Output.Write ("          respective keys]\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           SR=CC, CR=SC
     _Output.Write ("          SR=CC, CR=SC\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //       </section>
     _Output.Write ("      </section>\n{0}", _Indent);
     //       <section title ="Out of Band Confirmation" anchor="OOBConfirmation">
     _Output.Write ("      <section title =\"Out of Band Confirmation\" anchor=\"OOBConfirmation\">\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The Out Of Band Confirmation mechanism is a three step
     _Output.Write ("          The Out Of Band Confirmation mechanism is a three step \n{0}", _Indent);
     //           process in which:
     _Output.Write ("          process in which:\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           <list>
     _Output.Write ("          <list>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The client makes an OpenRequest message to the service
     _Output.Write ("              The client makes an OpenRequest message to the service\n{0}", _Indent);
     //               and obtains an OpenResponse message.
     _Output.Write ("              and obtains an OpenResponse message.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The service is informed that the service has been
     _Output.Write ("              The service is informed that the service has been\n{0}", _Indent);
     //               authorized through an out of band process.
     _Output.Write ("              authorized through an out of band process.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //             <t>
     _Output.Write ("            <t>\n{0}", _Indent);
     //               The client makes a TicketRequest to the service
     _Output.Write ("              The client makes a TicketRequest to the service\n{0}", _Indent);
     //               and obtains a TicketResponse message to complete
     _Output.Write ("              and obtains a TicketResponse message to complete \n{0}", _Indent);
     //               the exchange.
     _Output.Write ("              the exchange.\n{0}", _Indent);
     //             </t>
     _Output.Write ("            </t>\n{0}", _Indent);
     //           </list>
     _Output.Write ("          </list>\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Since no prior authentication key has been established, the
     _Output.Write ("          Since no prior authentication key has been established, the \n{0}", _Indent);
     //           OpenRequest and OpenResponse messages are sent without
     _Output.Write ("          OpenRequest and OpenResponse messages are sent without \n{0}", _Indent);
     //           authentication.
     _Output.Write ("          authentication.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           The principal concern in the Out Of Band Confirmation
     _Output.Write ("          The principal concern in the Out Of Band Confirmation \n{0}", _Indent);
     //           mechanism is ensuring that the party authorizing the
     _Output.Write ("          mechanism is ensuring that the party authorizing the\n{0}", _Indent);
     //           Request is able to identify which party originated
     _Output.Write ("          request is able to identify which party originated\n{0}", _Indent);
     //           the Request they are attempting to identify.
     _Output.Write ("          the request they are attempting to identify.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           If a device has the ability to display an image it
     _Output.Write ("          If a device has the ability to display an image it\n{0}", _Indent);
     //           MAY set the HasDisplay=true in the OpenRequest message.
     _Output.Write ("          MAY set the HasDisplay=true in the OpenRequest message.\n{0}", _Indent);
     //           If the broker recieves an OpenRequest with the HasDisplay
     _Output.Write ("          If the broker recieves an OpenRequest with the HasDisplay\n{0}", _Indent);
     //           value set to true, the OpenResponse MAY contain one or more
     _Output.Write ("          value set to true, the OpenResponse MAY contain one or more\n{0}", _Indent);
     //           VerificationImage entries specifying image data that is
     _Output.Write ("          VerificationImage entries specifying image data that is \n{0}", _Indent);
     //           to be displayed to the user by both the client and the
     _Output.Write ("          to be displayed to the user by both the client and the\n{0}", _Indent);
     //           confirmation interface.
     _Output.Write ("          confirmation interface.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Before confirming the Request, the user SHOULD verify
     _Output.Write ("          Before confirming the request, the user SHOULD verify \n{0}", _Indent);
     //           that the two images are the same and reject the Request
     _Output.Write ("          that the two images are the same and reject the request\n{0}", _Indent);
     //           in the case that they are not.
     _Output.Write ("          in the case that they are not.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //         <t>
     _Output.Write ("        <t>\n{0}", _Indent);
     //           Many devices do not have a display capability, in particular
     _Output.Write ("          Many devices do not have a display capability, in particular\n{0}", _Indent);
     //           an embedded device such as a network switch or a thermostat.
     _Output.Write ("          an embedded device such as a network switch or a thermostat.\n{0}", _Indent);
     //           In this case the device MAY be identified by means of the
     _Output.Write ("          In this case the device MAY be identified by means of the\n{0}", _Indent);
     //           information provided in
     _Output.Write ("          information provided in \n{0}", _Indent);
     //           DeviceID, DeviceURI, DeviceImage and DeviceName.
     _Output.Write ("          DeviceID, DeviceURI, DeviceImage and DeviceName.\n{0}", _Indent);
     //         </t>
     _Output.Write ("        </t>\n{0}", _Indent);
     //       </section>
     _Output.Write ("      </section>\n{0}", _Indent);
     //     </section>
     _Output.Write ("    </section>\n{0}", _Indent);
     //
     _Output.Write ("\n{0}", _Indent);
     // #end method
 }