diff options
author | Seth Moore <sethmo@google.com> | 2022-01-25 23:04:37 +0000 |
---|---|---|
committer | Seth Moore <sethmo@google.com> | 2022-01-25 23:04:37 +0000 |
commit | 1bf823ce75512d8514556a7c98752c1313af886b (patch) | |
tree | 8d71317158f8c634b17ea271cf7ac8070ca7688e /identity/aidl/default/FakeSecureHardwareProxy.cpp | |
parent | ff3df54c398f099089db3422f61e53e270a12b5d (diff) |
Revert^2 "Add remote key provisioning to the IC HAL"
be32113307d67f54e594e5322f85b65e4e2c4fdb
Change-Id: I55ddbddd0bc317f1f077a63b0275c4d55fd9c76f
Diffstat (limited to 'identity/aidl/default/FakeSecureHardwareProxy.cpp')
-rw-r--r-- | identity/aidl/default/FakeSecureHardwareProxy.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/identity/aidl/default/FakeSecureHardwareProxy.cpp b/identity/aidl/default/FakeSecureHardwareProxy.cpp index 91e634c0c3..9b9a749427 100644 --- a/identity/aidl/default/FakeSecureHardwareProxy.cpp +++ b/identity/aidl/default/FakeSecureHardwareProxy.cpp @@ -155,7 +155,11 @@ optional<vector<uint8_t>> FakeSecureHardwareProvisioningProxy::createCredentialK size_t publicKeyCertSize = sizeof publicKeyCert; if (!eicProvisioningCreateCredentialKey(&ctx_, challenge.data(), challenge.size(), applicationId.data(), applicationId.size(), - publicKeyCert, &publicKeyCertSize)) { + /*attestationKeyBlob=*/nullptr, + /*attestationKeyBlobSize=*/0, + /*attestationKeyCert=*/nullptr, + /*attestationKeyCertSize=*/0, publicKeyCert, + &publicKeyCertSize)) { return std::nullopt; } vector<uint8_t> pubKeyCert(publicKeyCertSize); @@ -163,6 +167,23 @@ optional<vector<uint8_t>> FakeSecureHardwareProvisioningProxy::createCredentialK return pubKeyCert; } +optional<vector<uint8_t>> FakeSecureHardwareProvisioningProxy::createCredentialKeyUsingRkp( + const vector<uint8_t>& challenge, const vector<uint8_t>& applicationId, + const vector<uint8_t>& attestationKeyBlob, const vector<uint8_t>& attstationKeyCert) { + size_t publicKeyCertSize = 4096; + vector<uint8_t> publicKeyCert(publicKeyCertSize); + if (!eicProvisioningCreateCredentialKey(&ctx_, challenge.data(), challenge.size(), + applicationId.data(), applicationId.size(), + attestationKeyBlob.data(), attestationKeyBlob.size(), + attstationKeyCert.data(), attstationKeyCert.size(), + publicKeyCert.data(), &publicKeyCertSize)) { + LOG(ERROR) << "error creating credential key"; + return std::nullopt; + } + publicKeyCert.resize(publicKeyCertSize); + return publicKeyCert; +} + bool FakeSecureHardwareProvisioningProxy::startPersonalization( int accessControlProfileCount, const vector<int>& entryCounts, const string& docType, size_t expectedProofOfProvisioningSize) { |