(Don't be scared, the large diff is due to file renaming...)
Certain applications may want the flexibilty to do more than currently possible within Botan::TPM2 and therefore may rely on an ESYS_CONTEXT that is not created via Botan's interface.
This results in 2 major use cases:
Create a TPM2::Context from an ESYS_CONTEXT managed by the application
This is useful to selectively benefit from wrapped functionality in Botan while maintaining the flexibility to use all of ESAPI
Use ESAPI for everything but register Botans TPM crypto backend
Unfortunately there is some added complexity because of the different kinds of memory management involved between the different APIs. Externally provided ESYS_CONTEXT objects are not retained by TPM2::Context, and are therefore not finalized in its destructor.
coverage: 91.064% (-0.009%) from 91.073%
when pulling 9fcff47a2215c19c541cee347173e3d0ab033b90 on Rohde-Schwarz:feature/tpm2_external_ctx
into d35b793df317051c5f317e52fa59eb8ca5e0c681 on randombit:master.
(Don't be scared, the large diff is due to file renaming...)
Certain applications may want the flexibilty to do more than currently possible within
Botan::TPM2
and therefore may rely on anESYS_CONTEXT
that is not created via Botan's interface.This results in 2 major use cases:
TPM2::Context
from anESYS_CONTEXT
managed by the application This is useful to selectively benefit from wrapped functionality in Botan while maintaining the flexibility to use all of ESAPIUnfortunately there is some added complexity because of the different kinds of memory management involved between the different APIs. Externally provided
ESYS_CONTEXT
objects are not retained byTPM2::Context
, and are therefore not finalized in its destructor.