generateIssuerNameSpaces

fun generateIssuerNameSpaces(data: NameSpacedData, randomProvider: Random, dataElementRandomSize: Int, overrides: Map<String, Map<String, ByteArray>>?): Map<String, List<ByteArray>>

Generates randoms and digest identifiers for data.

This generates data similar to IssuerNameSpaces CBOR as defined in ISO 18013-5:

IssuerNameSpaces = { ; Returned data elements for each namespace
+ NameSpace =&gt; [ + IssuerSignedItemBytes ]
}

IssuerSignedItemBytes = #6.24(bstr .cbor IssuerSignedItem)

IssuerSignedItem = {
"digestID" : uint, ; Digest ID for issuer data authentication
"random" : bstr, ; Random value for issuer data authentication
"elementIdentifier" : DataElementIdentifier, ; Data element identifier
"elementValue" : DataElementValue ; Data element value
}

except that the data is returned using a native maps and lists. The returned data is a map from name spaces into a list of the bytes of the IssuerSignedItemBytes CBOR. The digest identifies and randoms are generated by this helper using the provided Random provider.

Return

The data described above.

Parameters

data

The name spaced data.

randomProvider

A random provider used for generating digest identifiers and salts.

dataElementRandomSize

The number of bytes to use for the salt for each data elements, must be at least 16.

overrides

Optionally, a map of namespaces into data element names into values for overriding data in the provided NameSpacedData parameter.

Throws

if dataElementRandomSize is less than 16.