Mistake on this page? Email us

Generating a manifest in none-ecc-secp256r1-sha256 mode

To invoke the manifest tool to create a manifest with encryption mode none-ecc-secp256r1-sha256, you must provide the information below. You can provide all the information in a JSON input file. The manifest tool looks for missing information in alternative sources, as listed in the table. You can also use the command-line to override the input file.

Item Input file key name Alternative source if missing from input file Command-line override
The type of hashing, signing and encryption to use encryptionMode Calculated from mandatory inputs
Vendor ID vendorId Extracted from defaults
Class ID classId Extracted from defaults
Payload URI payloadUri -u
Payload file payloadFile -p
Description description Defaults to empty
Certificate used for signing certificates; note the full format in the example below Extracted from defaults

This tutorial assumes you have already installed the manifest tool.

Example 1: all information in the input file

Providing all fields through the input file:

{
    "encryptionMode" : "none-ecc-secp256r1-sha256",
    "vendorId" : "<hex representation of the 128-bit RFC4122 GUID that represents the vendor>",
    "classId" : "<hex representation of the 128-bit RFC4122 GUID that represents the device class>",
    "payloadUri" : "http://path.to/payload.bin",
    "payloadFile" : "/path/to/payload.bin",
    "description" : "Description of the update",
    "certificates": [
        { "uri": "http://path.to/certificate.der" , "file" : "/path/to/certificate.der" }
    ]
}

To create a manifest with this information, call the manifest tool:

$ manifest-tool create -i input.json -o output.manifest -k certificate_key.pem

Example 2: no input file

When providing no input file:

  1. Run this command one time in the root of the project:

    $ manifest-tool init -d "<company domain name>" -m "<product model identifier>"
    
  2. Then, use this command to prepare an update:

    $ manifest-tool create -u <url> -p <payload> -o <manifest file>