Difference between revisions of "Using secured connections"

From i2Rest
Jump to: navigation, search
Line 50: Line 50:
 
     ]
 
     ]
 
  }
 
  }
Please pay attention to the [[Gates_object|"Gates" object]]: in the basic configuration [[Gate_object|"session" gate]] was defined by default. PLease [[learn more|learn more]] on implicit gates difinition.
+
Please pay attention to the [[Gates_object|"Gates" object]]: in the basic configuration [[Gate_object|"session" gate]] was defined by default. PLease [[I2Rest_Gate_URL_definition_using_Unix_socket|learn more]] on implicit gates difinition.

Revision as of 12:00, 30 June 2020

i2Rest Server uses standard IBM i GSK API to protect connections.

Step 1
Create text file named I2RESTECHO.PCML anywhere on IFS, for example "/tmp/PCML/i2restecho.pcml". Copy and paste following code. It represents a description for the sample program I2RESTECHO, that is included into i2Rest Server installation for demonstration purposes:
<pcml version="1.0">

   <program name="echo" path="/QSYS.LIB/%LIBL%.LIB/I2RESTECHO.PGM">
      <data name="echo" usage="inputoutput" type="char" length="10" trim="both"/>
   </program>

</pcml>
Step 2
Following instractions create Server Application, it will be used to supply secured connections to i2Rest gates.
Step 3
Following instractions create Client Application, it will be used to submit sessions, that use secured connections with session gate.
Step 4
Contact your system administrator for your IBM i server host name (or IP) and two available ports for "main" and "management" gates of your first i2Rest Server instance. Create file config.json (you can name it with any name and put it into any available IFS folder). Enter following text, replace host_name, ports and pcml_file, dcm_server_id, -dcm_client_id with appropriate values.

Basic configuration SSL secured variant (differences are highlighted in blue):

{
   "gates":
   {
      "main"       : {"url":"https://<host_name>[:port](for example api.i2rest.com:1234)", "dcm_server_id":"<dcm server id>(for example MYSERVER)"},
      "management" : {"url":"https://<host_name>[:port](for example api.i2rest.com:4321)", "dcm_server_id":"<dcm server id>(for example MYSERVER)"},
      "session"    : {"url":"https://<host_name>[:port](for example api.i2rest.com:5678)", "dcm_server_id":"<dcm server id>(for example MYSERVER)"}
   },
   "session_systems":
   [
      {  "name"   : "*ANONYMOUS", 
         "submit" : "SBMJOB JOB(I2RESTA)                \
                            USER(${user})               \
                            CMD(CALL I2REST             \
                               PARM('-session'          \
                                    '-url' '${surl}'    \
                                    '-uid' '${uid}'     \
                                    '-dcm_client_id' 'dcm_client_id(for example MYCLIENT)' \
                                    '-user' '${user}')) \
                            INLLIBL(I2REST)"
      }
   ],
   "pcmls":
   [
      {
         "pcml_mount"         : "echo",
         "pcml_file"          : "<complete name of i2restecho.pcml on IFS (for example /tmp/PCML/i2restecho.pcml)>", 
         "valid_in_anonymous" : true
      }
   ]
}

Please pay attention to the "Gates" object: in the basic configuration "session" gate was defined by default. PLease learn more on implicit gates difinition.