The Record signature feature uses Password-based Encryption (PBE) to create a secret key from a user specified password and randomly generated salt (8 bytes). The secret key is used with a cryptographic hashing function to create a (HMAC) message authentication code. The random salt bytes are then appended to the end of the HMAC and the whole thing is Base64 encoded to achieve the Record signature.

Configuration in MQTT Transmission

Configuration for the digital signature is detailed here MT: Configuration#RecordsRecordsSignature

Manual validation using MQTT Recorder tags

Use the MQTT Recorder tags MR: Tags to validate the records in the database


Request Hashing AlgorithmString

A writeable tag that sets the requested hashing algorithm to compare database data against

Request Index EndLongThe last record index to use in the comparison 
Request Index StartLongThe first record index to use in the comparison
Request PasswordStringThe password for the database 
Request Table NameStringThe table name containing the records
ResultDatasetAn array containing a set of validation results for each record
Result value > indexLong ArrayThe record index
Result value > signatureString ArrayThe record signature
Result value > validatedBoolean ArrayThe result indicating that the record signature matches the request signature
Result value > errorString ArrayA message detailing any errors that occurred when performing the validation
StatusStringA message to indicate the success or failure of the database query. If this status returns Success, the Result dataset will contain the validation result for each record.
ValidateBooleanA writeable tag that triggers the validation to occur


These tags allow you to confirm that the data in the database has been written using the appropriate hashing algorithm using the steps below:

  1. Set the Request Hashing Algorithm to match the hashing algorithm configured at MQTT Transmission
  2. Set the Request Index End and Request Index Start to define the record index's to use in the comparison
  3. Set the Request Password to the password required for the Datasource configure in the MQTT Recorder
  4. Set the Request Table Name to the table name containing the records for comparison
  5. Set the Validate tag to True to trigger the validation

The response will be contained in the Status and Result tags. 

Status will return either Success or Failure for the database query.

Result will return an array containing the validation result for the record if the Status is Success. The array includes: