• Sumit Garg's avatar
    KEYS: trusted: Add generic trusted keys framework · 5d0682be
    Sumit Garg authored
    Current trusted keys framework is tightly coupled to use TPM device as
    an underlying implementation which makes it difficult for implementations
    like Trusted Execution Environment (TEE) etc. to provide trusted keys
    support in case platform doesn't posses a TPM device.
    
    Add a generic trusted keys framework where underlying implementations
    can be easily plugged in. Create struct trusted_key_ops to achieve this,
    which contains necessary functions of a backend.
    
    Also, define a module parameter in order to select a particular trust
    source in case a platform support multiple trust sources. In case its
    not specified then implementation itetrates through trust sources list
    starting with TPM and assign the first trust source as a backend which
    has initiazed successfully during iteration.
    
    Note that current implementation only supports a single trust source at
    runtime which is either selectable at compile time or during boot via
    aforementioned module parameter.
    Suggested-by: default avatarJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
    Signed-off-by: default avatarSumit Garg <sumit.garg@linaro.org>
    Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
    5d0682be
trusted_tpm1.c 24.8 KB