| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef HWSEC_TEST_UTILS_FAKE_PCA_AGENT_KDF_H_ |
| #define HWSEC_TEST_UTILS_FAKE_PCA_AGENT_KDF_H_ |
| |
| #include <string> |
| |
| #include <base/optional.h> |
| |
| namespace hwsec_test_utils { |
| namespace fake_pca_agent { |
| |
| // TPM2.0 spec part 1, 11.4.10.3. The bit length is hardcoded to 256 and the |
| // digest algorithm to SHA-256 considering the limited use-cases in practice. |
| std::string KDFe(const std::string& z, |
| const std::string& use, |
| const std::string& party_u_info, |
| const std::string& party_v_info); |
| |
| // TPM2.0 spec part 1, 11.4.10.2. The bit length of 128 and 256 are supported |
| // and the digest algorithm is hardcoded to SHA-256 considering the limited |
| // use-cases in practice. |
| base::Optional<std::string> KDFa(const std::string& key, |
| const std::string& label, |
| const std::string& context_u, |
| const std::string& context_v, |
| int bits); |
| |
| } // namespace fake_pca_agent |
| } // namespace hwsec_test_utils |
| |
| #endif // HWSEC_TEST_UTILS_FAKE_PCA_AGENT_KDF_H_ |