11.9. JRCP_v1 Server

This section explains how the JRCP_v1 server enables a client process (remote or local) to establish a communication session with a Secure Element.

Note

The JRCP_v1 server was previously known as RJCT server.

11.9.1. Introduction

The JRCP_v1 server is a standalone process that can establish a communication session with a Secure Element on behalf of a client process. Only one client process (at a time) can have a communication session via the JRCP_v1 server with the Secure Element.

The JRCP_v1 server listens for incoming connection requests from client processes on TCP/IP port 8050. The client application must be compiled for the JRCP_V1 smCom protocol layer.

The following figure illustrates a client application (in the example the Configure Tool) connecting to the JRCP_v1 server,

Client-Server connecting

The tool is provided in source code (.../hostlib/rjct). It can be built to connect to the Secure Element with e.g. the SCI2C or the T=1oI2C protocol.

11.9.2. Using the JRCP_v1 server

The JRCP_v1 server application that is bundled with the Host SW is a command line application. In the following example the server is started from a shell on the embedded platform

root@imx6ulevk:~# ./jrcpv1_server
RemoteJCShell Terminal Server (supporting SCI2C) Rev 0.92
A71 (I2C_CLK_MAX = 400 kHz) - Effective Master Clock depends on Host Platform.
******************************************************************************
Establish a connection via JCShell:
    /term Remote|<ip-address>:<port>
     e.g.
     /term Remote|192.168.1.27:8050

Server: waiting for connections...

For a client to connect to the server it needs to know the IP address of the server. In the following example the Configure Tool - built with the JRCP_V1 SMCOM layer - runs on a Linux PC and connects to the JRCP_v1 server running on the embedded platform (with IP address 192.168.1.100).

user@dell-linux:~/$ ./A71CHConfigTool 192.168.2.81:8050 interactive
a71chConfig (Rev 1.20) .. connect to A71CH. Chunksize at link layer = 256.
PlugAndTrust_HostLib_v02.12.00_20191210
Applet Version   : 0x131X
SecureBox Version: 0x0X

==========SELECT-DONE=========
HostLib Version            : 0x020C
Applet-Rev:SecureBox-Rev   : 0x0131:0x0000
>>> info device
A71CH in Debug Mode Version (SCP03 is not set up)
selectResponse:   0x0131
transportLockState: 0x03 (Transport Lock NOT YET set)
injectLockState:    0x02 (Unlocked)
gpStorageSize:      4096
uid (LEN=18):
47:90:70:02:47:91:12:10:80:04:00:88:04:98:90:53:48:12
certUid (LEN=10):
70:02:80:04:00:88:04:98:90:53