OdetteFTPTSL Service

The following table provides an overview of the OdetteFTPTSL service:

Category Description
System name OdetteFTPTSL Service
Graphical Process Modeler (GPM) category All services
Description The OdetteFTPTSL service is used to import CA certificates listed in the Trust-service Status List (TSL) provided and maintained by Odette organization. It is also used to access and verify the .upd file which contains a timestamp at which the Odette organization updated the TSL.
Business usage Use OdetteFTPTSL to import CA certificates from the TSL to the local certificate store. OdetteFTPTSL first accesses the .upd file to check the timestamp. If the timestamp in the .upd file is greater than the last update time in the local database, it verifies and validates the xml signature of the TSL and then imports the TSL into the local database.
Usage example A preconfigured instance of the OdetteFTPTSL service named, OFTPFTPTSL is available. Business process template is provided in the following section for reference.

oftptslhttp - Uses HttpClient adapter to fetch the Odette files (.upd and XML) and stores the CA certificates in the local database.

Preconfigured? Yes – OdetteFTPTSL
Requires third party files? No
Platform availability All supported platforms.
Related services Related services:
  • HTTP Client Adapter service
  • XML Digital Signature service
Initiates business processes? No
Invocation This service is invoked from a business Process
Business process context considerations None
Returned status values Returned status values:
  • 0 - Success
  • 1 - Error
Restrictions None
Persistence level System Default
Testing considerations Not applicable

Configuring the OdetteFTPTSL service

There are no specific configurable service instance parameters for the OdetteFTPTSL service. You can configure the Name and Description of the OdetteFTPTSL service. To use the OdetteFTPTSL service, perform the following steps:
  1. Create the following XML structure in a business process.
  2. Pass the XML structure to the OdetteFTPTSL service from the business process.

Sample Client Business Process

<process name="OdetteTSLFetchOperation">
<sequence>
 <operation name="HTTP Client Begin Session Service">
      <participant name="HTTPClientBegin"/>
      <output message="HTTPClientBeginSessionServiceTypeInputMessage">
        <assign to="HTTPClientAdapter">HTTPTSLLIST</assign>
        <assign to="RemoteHost">www.odette.org (http://www.odette.org)</assign>		
        <assign to="RemotePort">80</assign>
	    <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="HTTPClientBeginSessionServiceResults" from="*"></assign>
      </input>
 </operation>

   <!-- GET Service -->
    <operation name="Http Client Get Service">
      <participant name="HTTPGet"/>
      <output message="HTTPClientGetServiceTypeInputMessage">
        <assign to="SessionToken" from="HTTPClientBeginSessionServiceResults
					/SessionToken/text()"></assign>
        <assign to="URI">/TSL/TSL_OFTP2.UPD</assign>
        <assign to="ResponseTimeout">120</assign>
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="." from="*" append="true"/>
      </input>
    </operation>

	<!-- TSL Access.-->
	<operation name="OdetteFTPTSL">
      <participant name="OdetteFTPTSLTest"/>
      <output message="InputMessage">
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="." from="*"></assign>
      </input>
    </operation>

 <!-- GET Service -->
    <operation name="Http Client Get Service">
      <participant name="HTTPGet"/>
      <output message="HTTPClientGetServiceTypeInputMessage">
        <assign to="SessionToken" from="HTTPClientBeginSessionServiceResults
					/SessionToken/text()"></assign>
        <assign to="URI">/TSL/TSL_OFTP2.XML</assign>
        <assign to="ResponseTimeout">120</assign>
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="." from="*" append="true"/>
      </input>
    </operation>

	<operation name="VerifyMessage">
      <participant name="XMLDSigService"/>
      <output message="verifyRequest">
      	<assign to="." from="*"/>
      	<assign to="action">verify</assign>
      <!--  <assign to="certificateIdentifier">test_rsa_pub</assign> -->
      </output>
      <input message="verifyResponse">
        <assign to="." from="*"></assign>
      </input>
    </operation>  

	<!-- TSL Access.-->
	<operation name="OdetteFTPTSL">
      <participant name="OdetteFTPTSLTest"/>
      <output message="InputMessage">
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="." from="*"></assign>
      </input>
    </operation>

    <!-- HTTP Client End Session Service, ends session specified by SessionToken.-->
    <operation name="HTTP Client End Session Service">
      <participant name="HTTPClientEnd"/>
      <output message="HTTPClientEndSessionServiceTypeInputMessage">
        <assign to="SessionToken" from="HTTPClientBeginSessionServiceResults
					/SessionToken/text()"></assign>
        <assign to="." from="*"></assign>
      </output>
      <input message="inmsg">
        <assign to="HTTPClientEndSessionServiceResults" from="*" append="true"/>
      </input>
    </operation>

</sequence>
</process>