5.1. DEMO List

5.1.1. Platforms List

KSDK

Embedded platforms like FRDM K64F, i.MX RT1050, LPC55S

KSDK-CLOUD

Embedded platforms like FRDM K64F, i.MX RT1050, LPC55S, that can connect to cloud.

LINUX

Linux based platforms/systems like iMX6, iMX8, Raspberry Pi

PC

Windows PC

ALL

KSDK, LINUX, PC

5.1.2. SSS APIs Examples

Demo

Description

Platforms supported

SE supported

Section 5.2.1 ECC Example

Inject ECC Key and use it for sign and verify operation

ALL

SE05X (A and C), A71CH

Section 5.2.2 RSA Example

Generate RSA key and use it for signin and verify operation

ALL

SE05X (B and C)

Section 5.2.3 Symmetric AES Example

Inject AES key, encrypt and decrypt data with it

ALL

SE05X

Section 5.2.4 HKDF Example

HMAC Key deriva- tion operation based on the info and salt. Inject HMAC key into SE and derive a key using HMAC from the SE into the host keystore

ALL

SE05X, A71CH

Section 5.2.5 Message Digest Example

Message Digest hashing operation. Calculate SHA256 over data.

ALL

SE05X, A71CH

Section 5.2.6 HMAC Example

Inject HMAC key and calculate a HMAC

ALL

SE05X, A71CH

Section 5.2.7 ECDH Example

inject ECC key into SE and derive a key using ECDH from the SE into the host keystore.

ALL

SE05X, A71CH

5.1.3. Cloud connectivity Examples

Demo

Description

Platforms supported

SE supported

Section 5.3 AWS Demo for KSDK

Connect to Amazon Web Services IoT Core

KSDK-CLOUD

SE05X, A71CH

Section 5.4 AWS Demo for iMX Linux / RaspberryPi

Connect to Amazon Web Servicies

LINUX

SE05X, A71CH

Section 5.5 GCP Demo for KSDK

Connect to Google Cloud

KSDK-CLOUD

SE05X, A71CH

Section 5.6 GCP Demo for iMX Linux / Raspberry Pi

Connect to Google Cloud

LINUX

SE05X, A71CH

Section 5.7 IBM Watson Demo for KSDK

Connect to IBM Watson

KSDK-CLOUD

SE05X, A71CH

Section 5.8 IBM Watson Demo for iMX Linux / Raspberry Pi

Connect to IBM Watson

LINUX

SE05X, A71CH

Section 5.9 Azure Demo for KSDK

Connect to Microsoft Azure

KSDK-CLOUD

SE05X, A71CH

Section 5.10 Azure Demo for iMX Linux / Raspberry Pi

Connect to Microsoft Azure

LINUX

SE05X, A71CH

Section 5.11 Greengrass Demo for Linux

Connect as AWS Greengrass Core

Raspberry PI

SE05X

5.1.4. OpenSSL Engine Examples

Demo

Description

Platforms supported

SE supported

Section 5.12 OpenSSL Engine: TLS Client example for iMX/Rpi3

Setting up a TLS Link using OpenSSL Engine

LINUX

SE05X, A71CH

5.1.5. mbedTLS Examples

Demos regarding the mbedTLS ALT implementation. See Introduction on mbedTLS ALT Implementation

Demo

Description

Platforms supported

SE supported

SSL2 Client

Use extended SSL Client 2 & SSL Server 2 from mbedTLS

PC

SE05X, A71CH

DTLS Client

Use extended dtls_client & dtls_server from mbedTLS

PC

SE05X, A71CH

5.1.6. OPC UA Examples

Demo

Description

Platforms supported

SE supported

Section 5.13 OPC UA (Open62541) Demo

OPC UA Server

PC, iMX6

SE05X

5.1.7. SE05X Specific Examples

Demo

Description

Platforms supported

Section 5.14 SE05X Minimal example

Showcase usage of SE05X low level APIs

ALL

Section 5.15 SE05X Get Info example

Showcase Platform details of SE05X

ALL

Section 5.16 APDU Player Demo

Send RAW APDUs to SE050

PC, LINUX

Section 5.17 Using policies for secure objects

Showcase usage of policies

ALL

Section 5.18 Get Certificate from the SE

Read the certificate from the SE and store it on the file system.

ALL (With mbedTLS Only)

Section 5.19 SE05X Rotate PlatformSCP Keys Demo

Showcase Rotation of SE05X PlatformSCP03 Keys

ALL

Section 5.20 I2C Master Example

Showcase usage of I2CM interface of SE050

ALL

Section 5.21 SE05X WiFi KDF Example

Showcase usage of PBKDF

ALL

Section 5.23 SE05X Export Transient objects

Export transient objects

PC, LINUX

Section 5.22 SE05X Import Transient objects

Import transient objects

PC, LINUX

Section 5.24 Import External Object Prepare

Create ImportExternlObject raw APDU

PC, LINUX

Section 5.25 Import External Object Create

Import external objects securely

PC, LINUX

Section 5.28 SE05X Transport Lock example

Show transport lock feature

PC, LINUX

Section 5.29 SE05X Transport UnLock example

Show transport unlock feature

PC, LINUX

Section 5.27 Read object with Attestation

Demonstrate how to read object with attestation

ALL

Section 5.30 SE05X Timestamp

Demonstrate increment of timestamp inside SE

ALL

Section 5.38 Write APDU to buffer

Demonstrate how to write APDU to buffer

ALL

5.1.8. NFC (DESFire) Examples

Demos that interact with DESFire card via RC663. These examples can be run from:

  • From KSDK with RC663

  • From PC with FRDM-K64F & RC663

Warning

To run this example, you would need the nxpnfcrdlib component for which a Non-Disclosure Agreement(NDA) needs to be signed. Please contact your FAE for additional details.

Demo

Description

Section 5.31 MIFARE DESFire EV2 : Prepare SE050

Prepare/Provision SE050 with reference Keys.

This example does not use RC663

Section 5.32 MIFARE DESFire EV2 : Prepare MFDFEV2

Prepare/Provision DESFireEv2 with reference Keys.

This example does not use SE050.

Section 5.33 MIFARE DESFire EV2 : Authentication

Authenticate MIFARE DESFire EV2 using SE050 & RC663

Section 5.34 MIFARE DESFire EV2 : Change Key

MIFARE DESFire EV2 Change Key using SE050 & RC663

Section 5.35 MIFARE DESFire EV2 : Diversified Change Key

MIFARE DESFire EV2 Diversified Change Key using SE050 & RC663

5.1.9. Examples that use OpenSSL

Demo

Description

Platforms supported

SE supported

Section 5.36 Tool to create Reference key file

Native example to generate refKeys. (Only for NIST-P256 curve).

LINUX, PC

SE05X, A71CH

Section 5.37 Building a self-signed certificate

Create self signed certificates

LINUX, PC

SE05X