You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The EK Certificate chain can be stored in the NVRAM Indexes ranging from 0x01c00100 to 0x01c001ff, with the certificates stored concatenated in DER format.
If handles within this specified range are present, the following steps will be executed:
1. The content of all NV handles will be collected into a vector.
2. The content of the vector will be split into individual certificates.
3. Each certificate will be converted to PEM format.
4. The resulting PEM certificate chain will be provided as the 'ek_ca_chain' attribute to the registrar.
I appreciate any feedback, as I have no experience with the Rust programming language.
Signed-off-by: Eugen Matery <[email protected]>
/// Read the EK CA Chain from the tpm and return it.
692
+
///
693
+
/// As described in https://trustedcomputinggroup.org/wp-content/uploads/TCG-EK-Credential-Profile-V-2.5-R2_published.pdf (2.2.1.5.2 Handle Values for EK Certificate Chains)
694
+
/// Intermediate certificates can be stored directly in the TPM. The index used for it should be
695
+
/// 0x01c00100 - 0x01c001ff. The CA Chain is stored in DER format and will overlflow into the
696
+
/// next register as long as there is data.
697
+
///
698
+
/// This is for example the case for Intel fTPM, starting 11th gen core.
699
+
///
700
+
/// # Returns
701
+
///
702
+
/// A `String` with all certificates in PEM format if successful, an Error otherwise
0 commit comments