| | 107 | |
| | 108 | == Generate Random Number |
| | 109 | |
| | 110 | See example below |
| | 111 | {{{ |
| | 112 | tpm2_getrandom --hex 8 |
| | 113 | }}} |
| | 114 | |
| | 115 | == TPM Key Flow |
| | 116 | |
| | 117 | A general flow for loading a key into the TPM: (arguments needed for below commands specific to each application ) |
| | 118 | {{{ |
| | 119 | #!bash |
| | 120 | tpm2_createpolicy # Create PCR Policy |
| | 121 | |
| | 122 | tpm2_createprimary # Create primary TPM object |
| | 123 | |
| | 124 | tpm2_create # Create TPM Object with Secret |
| | 125 | |
| | 126 | tpm2_load # Load object into the TPM |
| | 127 | |
| | 128 | tpm2_evictcontrol # Make TPM Object Persistant |
| | 129 | |
| | 130 | rm files #remove your working files |
| | 131 | |
| | 132 | }}} |
| | 133 | == Resources |
| | 134 | |
| | 135 | * Gateworks Venice Secure Boot Wiki: https://trac.gateworks.com/wiki/venice/secure_boot |
| | 136 | * Security Considerations for Embedded Designs: https://www.gateworks.com/security-considerations-for-embedded-designs-single-board-computers/ |
| | 137 | * TPM Specification: https://trustedcomputinggroup.org/resource/pc-client-platform-tpm-profile-ptp-specification/ |
| | 138 | * Microchip TPM Product Page: https://www.microchip.com/en-us/product/attpm20p |
| | 139 | * The Web - A lot of examples and information about TPMs are available by searching the web |