X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/be8ccc9f63c4cd79f8dba84087c7348c23657865..77dc369c56e6995d1aeda3c7b686ed675534ec90:/doc/TPM diff --git a/doc/TPM b/doc/TPM new file mode 100644 index 00000000..2b2b2062 --- /dev/null +++ b/doc/TPM @@ -0,0 +1,24 @@ +If you'd like to write your own plugins and honor the efforts, Dream Multimedia +puts into developing Enigma 2, you can protect your plugin against execution +on Non-Dream Multimedia Hardware by implementing a TPM (Trusted Platform Module) +check into your plugin. +For ease of use we provide a demo plugin in lib/python/Plugins/DemoPlugins/TPMDemo. + +The main TPM check is implemented into the "main" function. You need to provide +this code yourself in your plugin. So copy&paste the code into your own as well +as the needed functions +- bin2long +- long2bin +- rsa_pub1024 +- decrypt_block +- validate_cert +- read_random +Importing the functions from somewhere else would spoil the security model. So +you need to provide the code with your plugin. + +You can either use the given method using the main function (which will run the +TPM check each time the plugin is called) or directly use it in the +Plugins(**kwargs) function and not return the Plugins-list if the TPM check failes +(which will prevent the plugin from showing up at all). You can also implement +a warning message for all possible TPM failure scenarios. + \ No newline at end of file