5. Export or Import Chip (Meta)Data¶
5.1. Example¶
from optigatrust import port
import json
dump = port.to_json()
json.dumps(dump, indent=4)
5.2. API¶
-
optigatrust.port.
from_json
(data=None)¶ This function will take as an input your data and populate the chip with it, whatever is possible
- Parameters
data – JSON string with the dump of the data
{ "e0f1": { "metadata":'200fc00101d001ffd301ffe00103e10121', "pretty_metadata": { "lcso": "creation", "change": "never", "execute": "never", "algorithm": "secp256r1", "key_usage": ['authentication', 'key_agreement'] } }, "e0c2": { "metadata":"2009c4011bd001ffd10100", "pretty_metadata": { "max_size": 27, "change": "never", "read": "always" } "data":"cd16338201001c000500000a091b5c0007006200ad801010710809" } }
- Raises
ValueError - when any of the parameters contain an invalid value
TypeError - when any of the parameters are of the wrong type
OSError - when an error is returned by the chip initialisation library
-
optigatrust.port.
from_json_path
(path)¶ This function will take as an input your data and populate the chip with it, whatever is possible
- Parameters
path – path to the json file. The content should be formed like the following
{ "e0f1": { "metadata":'200fc00101d001ffd301ffe00103e10121', "pretty_metadata": { "lcso": "creation", "change": "never", "execute": "never", "algorithm": "secp256r1", "key_usage": ['authentication', 'key_agreement'] } }, "e0c2": { "metadata":"2009c4011bd001ffd10100", "pretty_metadata": { "max_size": 27, "change": "never", "read": "always" } "data":"cd16338201001c000500000a091b5c0007006200ad801010710809" } }
- Raises
ValueError - when any of the parameters contain an invalid value
TypeError - when any of the parameters are of the wrong type
OSError - when an error is returned by the chip initialisation library
-
optigatrust.port.
to_json
()¶ This function will secentially read all metadata from all available OIDs and return a dictionary with all entrie
- Raises
ValueError - when any of the parameters contain an invalid value
TypeError - when any of the parameters are of the wrong type
OSError - when an error is returned by the chip initialisation library
- Returns
a dictionary will all available metadata per object; e.g.
{ "e0f1": { "metadata":'200fc00101d001ffd301ffe00103e10121', "pretty_metadata": { "lcso": "creation", "change": "never", "execute": "never", "algorithm": "secp256r1", "key_usage": ['authentication', 'key_agreement'] } }, "e0c2": { "metadata":"2009c4011bd001ffd10100", "pretty_metadata": { "max_size": 27, "change": "never", "read": "always" } "data":"cd16338201001c000500000a091b5c0007006200ad801010710809" } }
-
optigatrust.port.
to_otc
(path)¶ This function exports the whole available dump of the chip in the format compatible with the OPTIGA Trust Configurator. Two things will be exported. Data in .dat file format from available objects and an xml file with metadata stored. The function uses optigatrust/enums/conf_template.xml and add sequentially all objects found on the chip. There are exceptions, objects [“f1c1”, “e0c2”, “e0c0”, “e0c1”, “e0c5”, “e0c6”] are excluded and Objects which don’t have ‘used_size’ metatag defined are excluded
- Param
path Path to the folder where to store the resulting data.
- Raises
ValueError - when any of the parameters contain an invalid value
TypeError - when any of the parameters are of the wrong type
OSError - when an error is returned by the chip initialisation library
- Returns
an xml string according to the template optigatrust/enums/conf_template.xml
<objects> <!--OPTIGA Objects Metadata and Data--> <oid id="E0F0"> <metadata value="Updated_Tags">C00101D001FFD30100E00103E10101</metadata> <data data_from="Infineon" value="Default" type="Plain" chip_individual="false"> </data> </oid> ... </objects>