Skip to content

running CTT with a Device Builder generated server

Wouter edited this page Jun 15, 2021 · 3 revisions

Using CTT an OCF Device

IN PROGRESS

To be able to run CTT against an OCF device, one needs to have a PICS. The PICS is generated by Open Connectivity Certification Management System (OCMS). The PICS is a declaration of what the CTT will test against the device. Hence there is a relation between what is declared in the PICS and what is implemented in the OCF Device.

OCMS (v2.2.3)

The OCMS can generate a PICS. Options to be set are:

  • Specification version
    • use latest version, and make sure that that is used in the code PICS (add new PICS)
  • fill in a name for the PICS
  • OCF role: Server
  • Type of Client: N/A
  • Type of Bridge: N/A
  • Does your Client support bridges?: N/A
  • Supported Vertical Profile: Smart Home
  • Optional Core Resource Types: no selection made
  • Device type
    • oic.d.light
  • Vertical Resource Types automatically selected, e.g. do not change
  • Optional Security Virtual Resources:
    • oic.r.roles
    • oic.r.sdi
    • oic.r.sp
  • Ownership Transfer Methods
    • Just works
    • PKI
  • Supported Credential Types:
    • 1- Symmetric pair-wise key
    • 8- Asymmetric signing key with certificate - Requires oic.r.roles from Optional Security Virtual Resources
  • Is your device Resource Directory: No
  • CoAP over TCP: not supported
  • On-Boarding Tool: no selection
  • OCF Device-to-Cloud: no selection
  • Mediator Configuration: no selection
  • Optional Features:
    • enable: Does your device support the OCF Batch Interface?
  • IPv6 Scopes: leave as is

Save the PICS and download it to the PC where CTT is running. Note place the PICS in the folder documents, so that less navigation is needed to select the PICS.

IoTivity-Lite make options (linux)

The IoTivity-Lite example will build an OCF device of type: oic.d.light. with the a single resource of type: oic.r.switch.binary.

The default make options are:

  • SECURE
  • PKI
  • OSCORE

Hence build the application with sh build.sh OSCORE=0 to remove the OSCORE payload security feature from the code.

The generated code includes code the onboarding mechanisms:

  • Just works
  • PKI onboarding

Running the CTT

For running the CTT one needs to know:

  • The device to be tested
  • PICS

When starting the CTT, all devices are detected on the network. Please select the device that needs to be tested. This selection is easier when only the Device under Test is on the network.

The PICS needs to be selected. The PICS will configure the CTT, so that mandates which test cases needs to be run. Note that some test cases will be run, but will be N/A.

Changing Onboarding mechanisms

  • Random Pin onboarding This feature can be enabled by using compile flag OC_SECURITY_PIN
  • PKI onboarding This feature can be disabled by removing code ( by comment out functions)
    • oc_pki_add_mfg_cert
    • oc_pki_add_mfg_cert
    • oc_pki_add_mfg_trust_anchor