2b2b2062a1a52363dc5bbff3165076bce6cd493f
[openblackhole/openblackhole-enigma2.git] / doc / TPM
1 If you'd like to write your own plugins and honor the efforts, Dream Multimedia
2 puts into developing Enigma 2, you can protect your plugin against execution
3 on Non-Dream Multimedia Hardware by implementing a TPM (Trusted Platform Module)
4 check into your plugin.
5 For ease of use we provide a demo plugin in lib/python/Plugins/DemoPlugins/TPMDemo.
6
7 The main TPM check is implemented into the "main" function. You need to provide
8 this code yourself in your plugin. So copy&paste the code into your own as well
9 as the needed functions
10 - bin2long
11 - long2bin
12 - rsa_pub1024
13 - decrypt_block
14 - validate_cert
15 - read_random
16 Importing the functions from somewhere else would spoil the security model. So
17 you need to provide the code with your plugin.
18  
19 You can either use the given method using the main function (which will run the
20 TPM check each time the plugin is called) or directly use it in the
21 Plugins(**kwargs) function and not return the Plugins-list if the TPM check failes
22 (which will prevent the plugin from showing up at all). You can also implement
23 a warning message for all possible TPM failure scenarios.
24